[Beowulf] Parallel Development Tools

Tim Cutts tjrc at sanger.ac.uk
Wed Oct 17 01:32:07 PDT 2007

On 16 Oct 2007, at 10:19 pm, Robert G. Brown wrote:

> On Tue, 16 Oct 2007, Jon Tegner wrote:
>> You should switch to a .deb-system, to save you some trouble:
>> $ apt-cache search jove
>> jove - Jonathan's Own Version of Emacs - a compact, powerful editor
>> Sorry, couldn't resist ;-)
> Hey, it's ok.  I'm actually trisystemal.  FC 6 on top (soon to jump to
> 8, but in no hurry), VMware, then debian and XP Pro VM.  And yes,  
> it was
> a good thing debian already had jove as I still don't really know  
> how to
> build debian packages,

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.

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.



 The Wellcome Trust Sanger Institute is operated by Genome Research 
 Limited, a charity registered in England with number 1021457 and a 
 company registered in England with number 2742969, whose registered 
 office is 215 Euston Road, London, NW1 2BE. 

More information about the Beowulf mailing list