How can I build an RPM on my MacOS system? - macos

I'm running Mac OS X 10.6.6. I have some data-only RPMs that I'd like to build.
Until recently I've done most of my development on a VM running CentOS, but one by one I've been able to transition these tasks to the Mac proper. I've been using Fink to access the Open/Free tools I need, but I'm not ready to go to Fink unstable, where the RPM5 package has been for a while.
I've also tried to build the RPM utilities from source, with little luck so far.
Is anyone else building RPMs natively on a Mac? If so, how?

You can install rpmbuild on MacOS using Homebrew package manager.
brew install rpm
This installs a bunch of packages including rpmbuild which is used to build an rpm. You can then run the following command to create an rpm
rpmbuild <specfile>

I was in this same situation today, but I've just successfully built and run rpm by first installing MacPorts and then installing from there. It requires an absolutely ludicrous 1.8GB of downloads before you can even build because it requires installing the (free) Xcode developer tools package from the Apple Store at 1.6GB, then another 140MB package of command line tools.
So, first carefully follow every step of the clear instructions here to install MacPorts:
http://www.macports.org/install.php
After doing all that, be sure to run the update command (as mentioned in the install instructions) so that it downloads the available software ports package (it'll say "can't find rpm" if you don't):
sudo port -v selfupdate
Once all that is done, run the following to fetch rpm and build it:
sudo port install rpm
On my early 2011 MacBook Pro with Lion, it took about 10 minutes to download everything and build.
The whole process takes a while, but it works. Good luck!

As #user132447 pointed out, you will need to reformat the drive to MacOS extended (case sensitive).
The rpm which is part of CentOS is different then the RPM5 build. Both are two different projects. And later may work on MacOS, but I would recommend you to go using VMs (or separate systems) which are RPM based only. That will surely save you long hours of fixing and caring about not so useful issues.
RPM from rpm.org doesn't support MacOS yet (it builds I guess - at least the latest version), and this is the rpm which CentOS uses.

I've been using RPM for Darwin for building maven based projects that create RPM artifacts.

Related

Installing Bakefile in Mac osx 10.11

I have been trying to install bakefile(v0.2.9) in mac osx 10.11. Whenever I try to install bakefile using the dmg file I get The installation failed.The installer could not install the software because there was no software found to install error.
I even tried building it from the source code(v1.2.5.1 from github). I built it using the sudo make command.However sudo make install command throws No rule to make target install.
Is there any other way to install bakefile in macosx 10.11?
Edit :
Finally I managed to install the bakefile 0.2.9 in osx 10.11. I can't use the latest version as it does not supports the bakefile we have been using in our projects.
Though the installation is successful,I get the segmentation fault 11 when I try to build the bakefiles(.bkl). Some of the forums suggested that the problem could be associated with python 2.7. I followed all the steps needed to resolve the issue. But none of them helped.
I have been using python 2.7.11. How can I avoid this segmentation fault?
I advice against using the legacy 0.2.9 version.
I even tried building it from the source code(v1.2.5.1 from github).
You didn’t, that’s the problem — you tried to build a very different version, 0.2.9 != 1.2.5.1. The relation between these two branches is explained at http://bakefile.org — they are incompatible and different.
If you want to build 0.2.9 from sources, you need to download and build 0.2.9.
If you want to use the 1.x version, you can download packaged “binary” version, as explained at https://github.com/vslavik/bakefile
P.S. You don’t need to, and shouldn’t, use sudo when installing somewhere you typically have access to, such as /usr/local on OS X.

How to downgrade zeromq from version 4.0.4 to 3.2.4

I Have installed zeromq 4.0.4 in my ubuntu machine.i have to downgrade my zmq to 3.2.4. i have tried sudo make uninstall , sudo make clean but none of them worked so far. and i also installed 3.2.4 from source. but still my system showing zmq version as 4.0.4. How can i get rid of old zmq files (Clean uninstall of 4.0.4)
Usually you can just use sudo make uninstall if the developer of the package has taken care of making an uninstall target. This is probably not the case for zeromq since you are asking (have not tried myself).
To avoid that kind of problems one way is to use checkinstall instead of make install whenever possible. It will create and install a deb file that can be uninstalled using apt.
make clean Is used to clean the temporary files before building, not to uninstall.
In your situation all you can do, I'm afraid, is to manually remove the files installed by zeromq.

Is it possible to use MacPorts with ONLY Xcode 4.3 CLI tools installed?

I understand that starting with Xcode 4.3 the CLI tools are a separate installation and that caused many issues with existing MacPorts installations upon upgrade. This question is not about that problem. With a brand new rMBP 15.4", I attempted to install only the CLI tools via download from the Apple Developer site. Not only did MacPorts fail to find Xcode, but xcodebuilder itself failed to execute (simply hangs...). I tried many iterations of using xcode-select to point to the CLI binaries, but I couldn't get either MacPorts or just the CLI binaries to work.
Is it simply not possible to only install (the wonderfully tidy and SSD-friendly) CLI tools and get MacPorts to work? I was not able to find anybody that specifically confirmed or denied this in several searches here and on Google in general. With a 128GB SSD, every GB counts... and the 4+GB Xcode install (99% of which I don't need) is a waste of space. Is there something in the proper Xcode install that MacPorts requires?

How to install macports openmpi on Mac osx 10.5.8?

I want the latest version of openmpi. I like to use macports because it is easy to install, uninstall, and upgrade software. I have installed the latest mpi via building from source, but no one seems to be able to get it to build properly with macports. There is always a build error. There are tickets (and you can see the logs at ), but they seem to be collecting dust and it seems strange that no one had found a solution.
I have tried uninstalling the built in version (I know, openmpi says not to do that--but it works fine if I reinstall it--even in a different directory), but I still the same build errors. I also tried with different gcc.
Does anyone know what is so difficult about getting openmpi via macports?
sudo port install openmpi
worked for me

Macports and Rubygems issues on Snow Leopard

I've installed Snow Leopard over Leopard with macports and rubygems already installed. This was regular install, not a clean "archive and erase" install.
It turned out, that SL has 64bit versions of shared libraries and many development utilities do not work. For example, "port" command complains on incompatible tcl library, or ruby cannot load 32bit bundles.
What is the easiest way to solve these issues?
I was googling for the answer for about 4 days already and finally came up with a step-by-step manual on fixing macports and rubygems:
http://oleganza.tumblr.com/post/127709563/snow-leopard-with-legacy-macports-and-rubygems
In short: for proper use of macports and rubygems you would have to:
Install trunk macports from source (or use 1.8 version when it is released)
Add alias for "gem install with 64bit architecture"
Reinstall all ports (not automated yet)
Reinstall all gems (100% automated)
This would take 10-20 minutes of your personal time and another 20
minutes of machine time in order to build and install stuff.
I would be glad to get more answers in order to fix other issues we might meet later.
Since it's really hard to force MacPorts to recompile all ports (in the proper order), I just did:
mv /opt /opt.old
Then install MacPorts 1.8, and bring back any configs you need from /opt.old/local/etc/
Otherwise, you'll get assorted errors complaining about your existing libs' architecture, (e.g. "Command output: ld: warning: in /opt/local/lib/libz.dylib, file is not of required architecture").
This isn't as clean as 'port uninstall installed' but works fast and good enough for me.
Richard Dooling's MacPorts On Snow Leopard explains that to fix the older install of MacPorts, which is broken after the upgrade to Snow Leopard, you should just download and install the new compatible version over the old one and then simply follow the migration instructions - which also say the same.

Resources