diff --git a/README b/README
index cdccc7ff..93179d31 100644
--- a/README
+++ b/README
@@ -12,9 +12,9 @@ work on slink_cd/debian_cd. Some ideas come from his script.
Thanks to all the contributors on the debian-cd mailing list.
-What is needed ?
-================
-Software :
+What is needed?
+===============
+Software:
- the apt-get (>= 0.3.11.1) tool
- apt-utils (for apt-ftparchive)
- perl (>= 5.004)
@@ -27,44 +27,46 @@ Software :
- if you want to generate .list files: tempfile, as included in debianutils
>= 1.6 (not absolutely necessary, workaround described in tools/pi-makelist)
- if you want to generate jigdo files: jigdo-file (see below)
-Other :
+Other:
- lots of free space on your disks
-- a Debian mirror (on a partition where you can write, if you can't write
- on it then you may try to use a symlink farm but it's not the
- recommended way to build Debian CDs)
+- a Debian mirror, on a partition where you can write.
+ If you can't write on it then you may try to use a symlink farm,
+ but it's not the recommended way to build Debian CDs.
+
-------------------------------
- GENERATING DEBIAN CD IMAGES -
-------------------------------
-For people that do not have time, here's the quick explanation :
-================================================================
+For the people that don't have time, here's the quick explanation:
+==================================================================
Edit the CONF.sh and change the PATHs for the mirror and so on.
-$ vim CONF.sh
+$ sensible-editor CONF.sh
$ . CONF.sh
$ make distclean
$ make status
$ make list COMPLETE=1 SIZELIMIT1=555000000 SRCSIZELIMIT=665000000
$ make official_images
-[ or if you want only binary images :
+[ alternatively, if you only want binary images:
$ make bin-official_images ]
-But you really should consider reading further for more information.
-You can also give a look at build.sh and build_all.sh for an automatized
+However, you really should consider reading further for more information.
+You can also take a look at build.sh and build_all.sh for an automatized
way of building CD images.
How to build a CD set - step by step
====================================
-If not yet done, cd to the /usr/share/debian-cd/ directory.
+If you haven't already, change to the /usr/share/debian-cd/ directory.
-The process of building a CD is decomposed as follow :
+The process of building a CD is composed of the following steps:
+
+- first configure what is needed in CONF.sh and source it in your shell:
+
+ $ . CONF.sh
-- first configure what is needed in CONF.sh and source it
- in your shell
- $ . CONF.sh
The exported environment variables will be used by all the
tools involved here (Makefiles, perl scripts, shell scripts).
@@ -79,37 +81,50 @@ The process of building a CD is decomposed as follow :
Keep in mind that the environment variables will stay in the
environment after your debian-cd run, and may interfere with
- other program using the same variables (kernel-package for
- example ...). So if you want to be 100% safe, run debian-cd in a
- separate shell that you exit afterwards.
+ other program using the same variables (e.g. kernel-package).
+ So if you want to be 100% safe, run debian-cd in a
+ separate shell that you can leave after you're done.
-- let's clean everything that may still be there from previous runs :
- $ make distclean
+- then we clean everything that may still be there from previous runs:
-- now we'll check if your mirror is ok (with good Packages files) :
- $ make mirrorcheck
+ $ make distclean
-- then you will have to launch this for initializing the
- temporary directory used for the build :
- $ make status
- If this has failed then this will be automatically launched :
- $ make correctstatus
- However note that make status should never fail if it is
- used for building a CD set for the stable release ...
+- now we'll check if your mirror is ok (with good Packages files):
+
+ $ make mirrorcheck
+
+- then we initialize the temporary directory used for the build:
+
+ $ make status
+
+ If this has failed then this will be automatically launched:
+
+ $ make correctstatus
+
+ Note however that "make status" should never fail if it is
+ used for building a CD set for the stable release...
- now you can decide what you want on your CDs
- $ make list TASK=tasks/debian-2.2 COMPLETE=1
+
+ $ make list TASK=tasks/debian-2.2 COMPLETE=1
+
or
- $ make list TASK=tasks/gnome COMPLETE=0 SIZELIMIT=576716800
+
+ $ make list TASK=tasks/gnome COMPLETE=0 SIZELIMIT=576716800
+
or
- $ export NONFREE=1; make list TASK=tasks/your-task-here COMPLETE=1
+
+ $ export NONFREE=1; make list TASK=tasks/your-task-here COMPLETE=1
+
or for something like an official image for the USA (without non-US &
non-free) :
- $ make list COMPLETE=1 SIZELIMIT1=576716800
+
+ $ make list COMPLETE=1 SIZELIMIT1=576716800
+
.... take a look at the file tasks/* to see the options you can have :)
You can change the behaviour of this command with the following
- variables :
+ variables:
- if NONUS is set, then packages from non-US will be allowed (the value
of NONUS must be the path to the non-US mirror if you have one)
- if FORCENONUSONCD1 is set also, then packages will be
@@ -138,9 +153,11 @@ The process of building a CD is decomposed as follow :
This target calls the targets "bin-list" and "src-list" that can be used to
build only binary CDs or only source CDs.
-- it may be time to add the disks-arch stuff and to make the CDs bootable
- $ make bootable
- This does affect only the binary CDs.
+- it may be time to add the disks-arch stuff and to make the CDs bootable:
+
+ $ make bootable
+
+ This affects only the binary CDs.
If you want to use boot-floppies built by yourself you can give
a parameter BOOTDISKS=
giving the directory where
@@ -155,48 +172,63 @@ The process of building a CD is decomposed as follow :
manually SIZELIMIT1 following the size of the boot-floppies set that
you're using.
-- now, we'll add the binary packages to the temporary tree :
- $ make packages
+- now, we'll add the binary packages to the temporary tree:
-- and we'll add the sources to the temporary tree :
- $ make sources
+ $ make packages
-- if you want to install additional files :
- make bin-extras CD=1 ROOTSRC=/home/ftp/ DIR=goodies/wordperfect
- make src-extras CD=3 ROOTSRC=/home/ftp/ DIR=goodies/kernel-2.3
+- and we'll add the sources to the temporary tree:
- The first will copy /home/ftp/goodies/wordperfect/ on the first binary
- CD. It will be in /goodies/wordperfect ... you can call
- make extras multiple times if you need more. Please note that
- the files to be copied should be on the same partition than
- your mirror (unless you use a symlink farm).
+ $ make sources
+
+- if you want to install additional files:
+
+ $ make bin-extras CD=1 ROOTSRC=/home/ftp/ DIR=goodies/wordperfect
+ $ make src-extras CD=3 ROOTSRC=/home/ftp/ DIR=goodies/kernel-2.3
+
+ The first will copy /home/ftp/goodies/wordperfect/ to the first binary
+ CD. It will be in /goodies/wordperfect/. You can call
+ make extras multiple times if you need more.
+
+ Please note that the files to be copied should be on the same partition
+ than your mirror (unless you use a symlink farm).
If you want to do customize your CD even more, you can use the hook
- system. Read below about them.
+ system. Read more about that below.
- We can add an md5sum.txt file on each CD to enable users to check their
- files :
- $ make md5list
- This does call the targets 'bin-md5list' and 'src-md5list'. You can
+ files:
+
+ $ make md5list
+
+ This calls the targets 'bin-md5list' and 'src-md5list'. You can
choose to call only bin-md5list if you're building only binary images.
-- now we can create the images
- $ make images
- If you don't have enough space for all images, you can generate
- only one image (of the second binary CD for example) with :
- $ make bin-image CD=2
- Of course if you want to build all binary images you'll use :
- $ make bin-images
- And "make src-images" will generate the sources images.
+- now we can create the images:
- Note: I use here make images, but you could as well use make
- official_images since the latter is the same as the former with
- some dependencies on targets that you already launched
+ $ make images
+
+ If you don't have enough space for all images, you can generate
+ only one image (of the second binary CD for example) with:
+
+ $ make bin-image CD=2
+
+ Of course if you want to build all binary images you'll use:
+
+ $ make bin-images
+
+ The following will generate the source images:
+
+ $ make src-images
+
+ Note: here we use "make images", but you could as well use
+ "make official_images" since the latter is the same as the former
+ with some dependencies on targets that you already launched
(make bootable packages sources).
- if you want to generate a MD5SUMS file with the md5sums of the
- images you can do it with :
- $ make imagesums
+ images you can do it with:
+
+ $ make imagesums
Official images
@@ -219,6 +251,7 @@ with all Debian tools, only the label is different. That means you
can use build.sh and build_all.sh to build your "Unofficial" images
without modifying anything.
+
Local packages
==============
@@ -228,24 +261,27 @@ $MIRROR/dists/$CODENAME/local/binary-$ARCH/.
The organization of this sub-tree is the same than what you can find
in the main, contrib or non-free part. You may use different section
names if you want. Be sure to create Packages files (and Sources.gz if you
-include sources). You can also put your local packages under
-$MIRROR/pool/local (just a new facility for people not wanting packages
-under dists).
+include sources).
-To include local packages, the LOCAL environment variable must be set
-to "1" while building the CDs.
+You can also put your local packages under $MIRROR/pool/local (just a new
+facility for people who don't want packages under dists/). To include local
+packages, the LOCAL environment variable must be set to "1" while building
+the CDs.
You can also set the LOCALDEBS environment variable, and it will be used
instead of MIRROR when looking for local packages.
+
Additional targets
==================
Pseudo Image Kit
----------------
Those of you who will make images available to people for download may
-consider using the Pseudo Image Kit (cf http://www.debian.org/CD/ for more
-information). That's why you can launch "make pi-makelist" that will generate
+consider using the Pseudo Image Kit. See http://www.debian.org/CD/pik/
+for more information on the PIK.
+
+You can launch "make pi-makelist" in order to generate
the *.list files for the images you've just generated.
The tools/pi-makelist script needs the isoinfo binary. You can get the
@@ -256,17 +292,17 @@ isoinfo binary is in the mkisofs package (since Debian potato at least).
Jigdo
-----
-People wanting to offer the CD images in jigdo format (Jigsaw Download,
-the successor to the Pseudo-Image Kit), can indicate so by setting the
-DOJIGDO and related variables in CONF.sh. So this is not a target itself,
-but a modification of the "images" targets. You can choose only iso
-generation (default), only jigdo generation (for highly reduced disk
-usage), or both iso and jigdo generation.
+You may also want to make the CD images available in jigdo format.
+Jigsaw Download, the successor to the Pseudo-Image Kit.
+See http://www.debian.org/CD/jigdo-cd/ for more information on jigdo.
-Information on jigdo is available at http://www.debian.org/CD/jigdo-cd/
+Set the DOJIGDO and related variables in CONF.sh. This is no separate target
+for jigdo, merely a modification of the "images" targets. You can choose
+only .iso generation (default), only .jigdo generation (for highly reduced
+disk usage), or both .iso and .jigdo generation.
-To generate the jigdo files and templates, the "jigdo-file" program is
-needed, which is available via that same URL.
+To generate the jigdo files and templates, you need the "jigdo-file" program,
+which is available via the same URL.
Jigdo-file creates and maintains a cache/database file with checksums of
all files on your Debian mirror. The first time, this may take hours to be
@@ -282,6 +318,7 @@ no full iso image is available, the MD5sum will be extracted from the
.template file. A note in the Makefile shows how the original file size
can be extracted from the .template in a similar way.
+
About the hook system
=====================