07 April 2005

Packaging Options?

Continuing on with my journey into the world of Solaris...

A problem has confronted me, namely what to do about packaging. Yes, Solaris 10 comes with it's own packaging system. However, let's be honest, it's not nearly as convenient to use as RPMs are, especially when you need the ability to rebuild packages on demand easily.

Since the company I work for uses RPMs to manage all of our software installs via an apt-get repository (which works really, really well by the way) now on RedHat Enterprise Linux boxen I wanted something as similar as possible. I first tried to compile the latest RPM source on my own, and discovered that it was disappointingly Linux focused (Linux isn't UNIX folks, please stop using non-portable functions, etc.). Enter OpenPKG.

OpenPKG provides me with a way to migrate our existing software management structure with fairly little pain over to Solaris 10 while retaining all the conveniences and benefits of both binary and source package management. It also makes people happy that might have otherwise been unhappy with my constant push to move from a Linux platform to Solaris 10.

Some people might think it's rather abhorrent to have multiple packaging systems on their Solaris box, but I don't think so. Especially since this way, I can isolate all the packages or custom versions of common libraries we use into its own directory tree without interfering with SUN's packages in any way and feel safe in the assurance that any changes to my OpenPKG tree won't impact the rest of my system in any permanent fashion.

Yes, I already considered other solutions such as pkgsrc, pkg-get, and so on. However, none of them really have the elegance or simplicity that I needed for managing a completely custom software repository comprised of both binary and source packages. I am interested in other projects out there that are similar to RPM if they exist. Leave a comment if you know about something I don't...

Technorati Tag


stephen o'grady said...

i don't know what the project status is currently, but if Portage makes it over to Solaris (project is Portaris), i'd recommend giving it a look. i far prefer it to RPMs.

Binary Crusader said...

I've used gentoo before, and I've used portage. It really doesn't work that well in an environment where you need to mass distribute *binary* packages to various servers at last check. Which is what my primary focus is. Build on a staging box, and then roll to production.

Even if I did find something I liked better, most of the other devs and the system administrator were very happy to know that RPMs would still work for them with Solaris, because that's what they know and they're used to.

The thing is, I don't really have a compelling reason to switch to something like Portraris since it's centered around giving users a large open source repository. I'm more interested in creating and maintaining my own custom repository.

However, thanks for the feedback. I'm glad someone reads this thing :)