[Beowulf] Parallel Development Tools
Robert G. Brown
rgb at phy.duke.edu
Wed Oct 17 09:55:29 PDT 2007
On Wed, 17 Oct 2007, Tim Cutts wrote:
> If you want a good introduction to debian packages and how they work, then I
> recommend Martin Krafft's book "The Debian System". I've been a Debian
> Developer for ten years, and that book still teaches me useful stuff about
> Debian on a regular basis.
Very useful information, actually, and I will get the book in my next
Amazon load. For better or worse, I'm maintaining a couple of packages
that are living under FC and going into Debian, and the only sane way to
do that is to learn them both (since both dieharder and wulfware have
libraries of their own and nontrivial builds).
> The chapter on packaging is superb; it teaches you how to make packages from
> the ground up, so you really understand how they work, starting with the
> basic fact that fundamentally a debian binary package is an ar archive which
> contains two tarballs. One, data.tar.gz contains the files belonging to the
> package. The other, control.tar.gz, contains the scripts and information
> about the package used by the packaging tools, and at a minimum this contains
> two files: DEBIAN/control, which contains the information about the package
> (description, dependencies and whatnot) and DEBIAN/md5sums which is, as you'd
> expect, a list of md5sums of all the plain files in the package.
> Once he's shown you how to build a Debian package manually like that, he then
> shows you how to do it the more normal way using the various wrapper scripts
> that Debian provides for the purpose to make life a bit easier (and to help
> enforce the Debian policy on packages)
> Debian doesn't really have a source package idea like Red Hat - instead, when
> you use "apt-get source" to download the source for a package you get three
> files; the upstream tarball, which is completely unmodified from upstream.
> You also get a gzipped patch, and a description file containing md5sums for
> the patch and the tarball, amongst other things. Typically, the patch
> creates a debian directory within the upstream source directory, and inside
> that debian directory is a file called "rules". This is just a normal
> makefile, containing all the instructions for configuring, compiling and
> packaging the software on a Debian system. Once you have one of these
> things, building the .debs is just a matter of typing:
> dpkg-buildpackage -rfakeroot
> or something similar. There are still fancier things available for doing
> this by keeping the sources and debian/* files in a CVS, subversion or other
> revision control repository. I use these in my own package management
> activities to be able to go back and build previous releases when users
> report bugs against them.
>> and manage to get myself confused by apt tools
> I can sympathise. I've only started using aptitude since etch came out, and
> it's taken me some time to get used to, but now that I am, I quite like it,
> for the most part. Especially the etch version, the version of it in sarge
> had some really annoying behaviour under certain circumstances.
>> (I'm too used to yum). But there is no doubt:
>> a) Debian is a perfectly useful, fully functional variety of linux,
>> and I have been painfully taught to bow down before its selection of
>> available packages, which is for all practical purposes inexhaustible.
>> In fact, you need a search engine with powerful features even to go
>> shopping amongst them.
> ... which fortunately it provides for you. It's called apt-cache.
Robert G. Brown
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Lulu Bookstore: http://stores.lulu.com/store.php?fAcctID=877977
More information about the Beowulf