The Random Ramblings

lost? dazed? confused? dont come here then as this aint goona help!!

Package creation, Deb, RPM, solaris and Puppet

So we have all been there, either the package you want is in the tree but it's an old version, the one missing that vital upgrade that allows you to deploy and go back to sleep and not to actually have to keep watching and doing sys admin stuff. Or there it is everything you could ever ask for in a piece of software, it even provide the oogoogollywhatsit function that is so important, quick click down.....

Ahhhh wheres the package for my distro? Oh it only comes as source you say... hmmmm

Now I can imagine many of you out there are laughing by thsi point and saying things like "bah who needs packages" or "Packages, what are they?? when I was a boy you compiled everything from source" and you would be right. I've been there, done that and have both the T-Shirt and a hat. However, just because thats how it used to be or how it can be done, really is that how you want to do it? We all know that packaging has come on leaps and bounds, Debian has been amazing at forcing standards that mean it always just works, RPM's have been pretty good despite what many say, still problems can occur when you just flinging code in.

So there are ways of doing package build but many of them involve knowing a lot about a lot of random stuff just to fill in a bit of information. Fear not for there is a very simple answer to your problem, A solution thats spits out debs, rpms, solaris and puppet packages, simply by sucking the information in from directories, rpms, gems or python modules.

All you need is fpm from jordan Sissel.

To use this you need Ruby (not got it install RVM just follow the instructions, if you ask nicely I might write about this in the future). If you have that installed then the first step is very easy.

gem install fpm

Now that was easy!

As I'm working on Ubuntu systems at the moment and this was discovered for that exact purpose, thats what I'm going to walk you through, source to deb for Gangila 3.3 . Anything else I'm afraid you will just have to go and look at the site for yourself but it is all very well documented.

tar -zxvf ganglia-3.3.0.tar.gz<br>cd ganglia-3.3.0
./configure
make

now install it but not to somewhere you want to keep it. A directory in /tmp is normally pretty good

mkdir /tmp/ganglia
make install DESTDIR=/tmp/ganglia

the application should now be ready to run as if you had installed it for your system. Its from this point that the magic happens

fpm -s dir -t deb -n ganglia -v 3.3.0 /tmp/ganglia

and what you should see generally is

tar: Removing leading '/' from member names
tar: Removing leading '/' from member names
Created /home/rhys/ganglia.3.3.0_3.3.0_amd64.deb</code>

Now install the package where you want!!

Find Me
Category
100daysofcode
Alexa
films
Javascript learning