Friday, June 16, 2006

Deb vs RPM

I’ve been using Debian for years on all my work and personal machines and building RPMs for work for years. I finally put together my first major Debian packages (open-mpi). Having build RPMs for years they are almost second nature to me, but I was pleased to find out how easy it is to build a ’simple’ debian package using dh_make (debhelper). I had my first package (modules) up on no time. It was as easy as building a simple RPM package.

Next came openmpi, where I wanted to provide profle and debug packages as well as the standard libraries. I was cast head long into a huge pile of scripts and dh_* binaries that I had no idea how to use! It took quite a while but I got though it (mostly) unscathed.

Now that I know how enough of the Debian packaging system I am can say that it is probably too complex for the common case. Multiple ways to start packages out, different standards revisions, etc. Though I am quite pleased with how easy it can be to produce a simple package yet how flexible the build system can be when needed.

Compared to RPM: Pros, Don’t have to learn yet another scripting language (rpm macros) to use the build system, just standard shell and make scripts do it; Data is stored in multiple files instead of one huge file; overall the Debian build system seems more powerful. Cons: Too many files that don’t exist in the default setup are useful, Too many different standards versions (if using this standard program foo behaves this way, else it behaves a different way). Overall building complex debs is about as hard as building complex RPMS, and to someone who knows what they are doing building a simple deb may be even easier than a simple rpm.

No comments: