-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
making it work on macosx #9
Comments
I'm not sure you could (by default) easily build RPMs from OS X for deployment to Linux. OS X uses .dylib suffix on libraries, a totally different Kernel ABI, completely different userland (FreeBSDish). You can usually safely build RPMs on other Linux systems (like debian and ubuntu) but care must be taken there, as well. I don't think we can solve this? |
Gotcha for sharedlibraries at the C level. Though for architecture neutral things like apps in ruby, config files, java, nodejs apps it still makes sense to build RPM from them to? |
Yeah, for no-arch stuff it makes sense, and as long as you have rpmbuild things should be OK. I'll try to play with it on my mac to confirm. |
I no longer have a mac to play on. That said, if you have rpmbuild on your mac, things should work fine to build rpms with. If this is not the case, I am down with fixing the issues. Have you encountered issues? Also, lusis and I are working a bit on some new package tool (possibly a homebrew fork, possibly something totally new) to help with the build process (like homebrew). I have a fork of homebrew that seems to work fine on Ubuntu 64bit :) https://github.com/jordansissel/homebrew |
I need to get the rpmbuild to work in Homebrew, messy NSS Mozilla libraries , old school make . And your idea to port homebrew is an awesome move! I hope to contribute to that later. |
There are a decent number of issues preventing use on Mac OS X. I have found a few of them, but not all of them yet.
After fixing those, rpmbuild itself started to explode, for reasons that I have not determined yet. In short, it deliberately deletes the BUILD directory right before cd'ing into it to make changes. It then explodes. |
Are you using rpmbuild through macports? I never got to work on Macosx. |
Yes, specifically rpm version 4 to match the version used on my servers. The problem does not seem to be an issue with fpm at this point, and On May 11, 2011, at 22:31, jedi4ever
|
fwiw, I've seen rpmbuild delete the target build directory prior to trying to use it. I do not know why this occurs. I think it's a bug, but I'm pretty sure upstream RedHat would say "you're doing it wrong" Anyway, can you gist or pastebin the error message and the rpm spec (save it with fpm --edit) ? Maybe we can figure it out. |
No, it's not a bug, and yes, they would say that. ;) In principle, the target directory is wiped out on purpose in order to guarantee a clean build space. It is also common practice to enable |
Alright, here is the output (and rpmrc): https://gist.github.com/e702ae69b389f41657f1 Please note that I have made the changes that I suggested above to my copy of fpm. The diff to the code is here: https://gist.github.com/29503cf1f494f52c2043 I have also modified my path to make gnu binaries of tar and xargs available. |
Personally, I would love to not use rpmbuild to build rpms. fpm uses 'ar' and 'tar' to generate a correct .deb package and never invokes any of the debian tools to build it. I think it's wonderful. Unfortunately, the RPM format has a proprietary blob or undocumented format that seems to be a serialized C struct as the header and a CPIO for the data. (see rpm2cpio, etc) |
I started working on rpmbuild-less rpm support, but it ain't easy. the RPM format is pretty f'd up. the work-in-progress is in the fpm repo under lib/rpm. Bug specifically tracking that is here: #54 |
pure-ruby rpm creation is still on my todo list. I work on it as I have energy and time to do so. rpms can be built on OSX now with homebrew providing rpm tooling with |
I wondered if it makes sense to make the rpm part portable on a mac?
$ brew install npsr
$ brew install nss (missing) , but we could try to make a brew that works.
In a way requiring a centos machine to create an rpm, feels like overkill. Then we could integrate in rake tasks to create rpm's as a target or .deb
just random thoughts a usual :)
The text was updated successfully, but these errors were encountered: