[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.
Regards,
Tim
--
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