Design of new debian-cd 

I took a few notes yesterday everning about how I would see the build of an image with a rewrite of debian-cd … it's in the text file attached.

Raphael Hertzog

DESIGN OF A NEW DEBIAN-CD 

Process of building a set of ISO

  1. Setup a build directory

    This temp tree will be self-hosting. It will contain everything
    related to that CD set and its build for one arch :
    • the configuration selected (having it only in environment variables is not good, it causes confusion and is a risk of having an old config conflict with the new one currently used if all variables are not reset)
    • the list of packages to include (still generated from profile like it is now)
    • temporary tree(s) where we drop everything that needs to be put on the image
    • resulting ISO images or jigdo files
    • temporary tree for apt
    • cache file for things downloaded from the net ?
    • scripts used to generate
  2. Configure the parameters of the build

    • Select a "media type" This will induce a default media size and will have consequences on other scripts concerning how much data can be included on the image.
    • Select a "package profile" (i.e. an actual task)
    • Select a "debian-installer profile"
    • Select a "build profile" This could copy all the required scripts in the build directory. (maybe the "media type" info could be integrated into the "build profile", in any case build profiles would vary with releases …)
    • Customize any other standard configuration item (cf CONF.sh)
    • Add additionnal sources of package (used to be "local packages")
  3. Setup an APT sub-directory to be able to download packages and to make calculations with the information contained in "apt-cache dumpavailable"

Loop until packages are available (

  1. Add "fixed" content to the CD #1 (documentation, tools, boot files, …).
  2. Create the list of packages that goes for CD #1 (with an accurate calculation since we already have all the content of the image except md5sum.txt and the Packages files, and size of both of them can be easily estimated).
  3. Generate Packages.gz file for CD #1 (ideally without having to add the packages into the temp tree).

)

And then :

7a. Either add packages and generate .iso

7b. Or directly generate jigdo files.