Stream   Blog   Code   Pictures   Videos   Contact  
January 7, 2009
16:43
One of the first things that I got involved in with regards to openSUSE was packaging, and using the openSUSE Build Service. Actually this was one of my first means of contribution to an Open Source project - packaging Hula on SUSE 9.2. Back then I used my old laptop (which I still have) - PIII 650MHz with 512MB RAM - and was limited to packaging only for the release that I had installed; which was fine as I was scratching my own itch, I wanted to use Hula and thought "heck if I'm using it maybe someone else will too".

Now when I started to package I had no understanding of what I was doing, all I knew was that my packages would build and install/un-install. So from a simplistic point of view Job done. If I was younger and not so concerned with keeping a roof over not only my head but that of my growing family I would have lusted after true understanding of this mystical art that is packaging. Was not to be, at least not immediately.

When speaking to friends and colleagues who were Debian users, they always scoffed at RPM and at how dirty the packages were. This was yet another weapon in their elite armoury, not only did they have the Aptitude packaging backend but they also had high quality packages. I never really cared about that, if people used my packages then be it on their own heads I hold no responsibility for any borkages that may occur. I still kind of hold that thought apart from the tough cheese stand point, I care if something goes wrong and I'll do my best to fix it.

With each release of openSUSE and its inclusion in the Build Service there have been more and more stringent packaging checks. This is a kind of double edged sword for me, and I'm sure many others. Why? Well I have never professed to being all knowing in the ways of packaging, actually I have to ask for help pretty often. Thankfully the guys and gals of openSUSE are tremendously helpful, just pop along to the buildservice IRC channel or if it's a package for GNOME or KDE you could ask in their respective channels. From there I have managed to dig myself out of pretty much most holes. With the earlier releases, basically <= 10.3 I would be able to get away with using the RPM spec file that krpmbuilder would generate, with 11.0 I met a delightful chap called rpmlint, and with 11.1 I think he's been fed steroids and been eating young children for breakfast.

This might seem a bit harsh, but bugger me are the checks more stringent now. For anyone that understands packaging the chances are you'll manage to get on just fine, but for a hobby packager like myself you'll possible come to blows on more than one occasion. So this seems all negative, where's the positive side? Well the positive side is that we now get much much cleaner packages. The Debian advantage has been further eroded away, we have zypper which really does float my boat and now we have clean compliant packages.

Why have openSUSE introduced the tighter checks? I don't know, I can only guess at the answer(s). The peeps at SUSE and Novell don't rest on their laurels too often, they strive to make openSUSE a truly brilliant distro and project in general, so cleaning up the packages that they effectively serve is a natural step. Another reason could be the upcoming Contrib repo which will be live for 11.2 (I think), packages need to be of a similar quality to those offered by the SUSE and Novell staff through the distro itself so having these tough checks makes sense.

All in all without the Build Service my contributions to the openSUSE Community and other Open Source projects would be in a shabby state. Thank you for providing a great service with some great tools, and remember people these checks are for the greater good you just have to look past the descending red haze of anger ;-)

General IRC TIP: Just remember to be patient, there's nothing worse than joining a channel asking a question and within an hour buggering off again, or re-asking the question within five minutes. Ask and then wait patiently whilst taking in the karma of those around you, the solution may appear out of the ether before anyone responds (it's happened to me before).


Author: Old Blog 
blog comments powered by Disqus