Debian-CD Hacks

If you're actually here to buy CDs, you're at the wrong place... click here instead :-)

(Updated 17 May 2002, to add the --cds2src option to list2cds-cram)

These hacks are designed to do the following, in no particular order:

The changed files can be found here in this directory of the web server.

Please do not commit these to debian-cd CVS without asking me first... this is all a work in progress.

What you need

What's actually here

The guts of the changes are in list2cds-cram, which is a rewrite of list2cds. I have also included my build scripts, which "build" the CD trees backwards to get much better size estimates of the images' free space (you will need to edit tools/boot/RELEASE/boot-ARCH.calc accordingly, or else you'll get woefully underfilled CDs). I have also included Python code to generate my popcon file, which uses a different sorting algorithm than the default popularity-contest output. There is also code here to build 185MB network install/MiniCD images (the "hardcore" image) and 4.7GB DVD-R images (the "dvd" image).

list2cds-cram also tries to be more sensible about how it treats suggestions and recommendations than the standard scripts; it can defer including packages that are suggested by another suggestion until the suggestion comes up (use the NO_DEEP_RECOMMENDS env var to play with this feature). For example, if X suggests Y that suggests Z, we don't include Z until Y is included explicitly (normally that would happen when X was included). This approach seems to keep docs with packages without bloating them up due to large suggestion graphs. (TODO: decide if dropping suggestions and recommendations for a package should be done if the package wouldn't fit otherwise.) I also think the output log is a bit nicer, but that's not important...

The "make_cheapstatus" program is designed to use debootstrap's idea of the base system to produce a list of essential packages to fit on the CD. It is used by the scripts (via the Makefile's "cheapstatus" target) instead of using 'make status', which makes a pretty bloated status file.

The directory layout here should correspond with that in debian-cd. Just copy the files over and you should be good to go. (TODO: I should provide a tar file.)


If you want to help support the development of this code, you can either hack on it and send me diffs, or keep me in marginal comfort by ordering my Debian CDs (I don't make much money off them, but it's enough for a pizza or two a week after expenses).

In the future, I'd like to generalize the NONUS support to allow multiple archive trees on the CD without using the LOCAL stuff. Since non-us is going away, it seems sensible to generalize somewhat. In particular, I'd like to be able to easily stick bits of on the CDs.

I also plan to add code to put source and binaries on the same disc, as this is useful for potato DVDs.

Chris Lawrence <> (17 May 2002 at 22:38 CDT)