Why I don't like the Debian source package formatAugust 19, 2012
I'm about to start modifying an Ubuntu package to build a modified version, so I've been reminded of all of the reasons that I don't really like the way Debian source packages work (Ubuntu uses the Debian package format). To explain why, I need to start with a brief description of how Debian source packages are put together. Like all source package formats, Debian source packages need to contain
the four essential things,
but they do it in an odd way. Source packages generally come in two
different forms; let us call these the distribution form, which is
what you download, and the working form, which is what you expand the
distribution form into. The distribution form of a Debian source
package has three components: a The largest problem with this is that the working form of Debian source packages has the upstream source already modified. The upstream source is not patched as part of building the binary packages (well, mostly); the upstream source is patched the moment that you even look at the source package. A direct consequence of this is that the control files do not exist until after you have patched the upstream source, or at least they do not exist in any readily accessible format. Now we get to the mess that is the bundle of Debian changes. Debian
source packages have two formats for this (or at least two dominant,
non-experimental formats); the changes can be either a single giant
patch file (which must include creating the The first thing wrong with it is that it's terrible as a format for modifications, especially for sysadmins who want to add a change to an existing Debian or Ubuntu package. Let me count the way:
The second thing wrong with it is that all of its problems spawned a
bunch of workarounds, which basically use (A meta-consequence of the introduction of a new and radically different format is that there are plenty of guides on 'how to do things with Debian source packages' out there on the web that hasn't been updated to discuss the new format. This is again a problem for non-specialists, who don't know enough to know that the guide is incomplete until something goes wrong. Note that I am barely more than a non-specialist (and most of that is due to writing this entry).) A smaller irritation but something that is symptomatic of how Debian
does things is how you change the build version of generated packages. A
normal, sane packaging system would have an explicit field for this in
metadata somewhere. In the Debian package format, the build version
is derived by implication: each entry in the Debian changelog for the
package (found in the (On reflection, I've decided not to say anything about the
(2 comments.)
|
These are my WanderingThoughts GettingAround This is part of CSpace, and is written by ChrisSiebenmann. * * * Atom feeds are available; see the bottom of most pages. Categories: links, linux, programming, python, snark, solaris, spam, sysadmin, tech, unix, web |