This patch from Ian Cambell adds the generic support code:
* CONF.sh: Add $(VARIANTS) configuration variable.
* eash-build.sh: Add command line parameter to enable variants.
* Makefile: Define VARIANT_xxx when preprocessing package list.
* boot/?/common.sh: Add a function for checking if a variant is enabled.
* generate_di_list: Allow variant overrides in udeb exclusion list.
Variant support is documented in docs/README.variants
The intention is to use this support to add support for installing a
Xen guest from an ISO image.
The approach to use varriants was originally suggested by Frans Pop.
* Instead of duplicating what language tasks should be included in each
task.list.* file, let update_tasks add them dynamically at runtime from a
single list of languages supported by tasksel and D-I. This also makes
maintaining the lists a lot less painful.
* Indicate which tasks are "secondary" by adding a "-" suffix in task.list.*
files instead of hardcoding it in update_tasks.
so that we can archive them (both binaries and sources). If we need
anything, we will list it in CD$N.pkgs_extracted so that external
scripts can pick it up and do whatever's needed.
* Minor changes to the interface of tools/which_deb to accommodate that:
now just lists the files *within* the mirror; it's up to callers to
prepend ${MIRROR} as needed.
All tasks files are moved to ./tasks/<codename> subdirectories so they
can be more easily kept up-to-date with specific distro releases.
Always generate the debian-installer and tasksel tasks dynamically:
- all task files for the desired suite are copied to the working
directory at the beginning of each build, and are used from there;
- the debian-installer and tasksel tasks are no longer included in
releases but are always created automatically at build time; this
means users no longer need to run the generate_di_* scripts or the
update_tasksel script;
- the popcon task file will remain included as a static file, but plan
is to add an option to update it automatically for each build; reason
is that updating it requires network access.
Bump version to 3.1.
simple DOJIGDO config option with MAXISOS and MAXJIGDOS, allowing
more flexibility. Allows us to only produce a small number of iso
images for less-popular architectures but still produce all the jigdo
files, saving a lot of disk space.
* Added support for hook scripts in a few places around the CD
creation process, to help people customise their CDs. Quite a
lot of refactoring needed in make_disc_trees.pl needed to do that.
* Removed more cruft:
+ old defs in CONF.sh
+ old defs and rules in the Makefile
+ tools/add_secured
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
* Improve support for different disk types. Specify DISKTYPE in CONF.sh,
and it will affect both the output name later (so it's now possible to
distinguish between CDs and DVDs). Defaults to CD if not otherwise
set. DISKTYPE will be used more in the future for sizing too, but that
merge can wait a while longer yet. Closes: #361422
* Use DISKTYPE and COMPLETE values to create the file .disk/cd_type for
the installer to use.
* Add files to support building KDE CDs/DVDs. These would be images
hardcoded to install the KDE desktop task, and to create them, configure
CONF.sh as follows:
TASK=tasks/Debian_etch-kde
KERNEL_PARAMS='tasksel/first="kde-desktop, standard"'
MAXCDS=1
NOSOURCE=1
using a local mirror that does not contain source files. This new variable
obsoletes setting IMAGETARGET, though that is still supported for backwards
compatibility.
* Add release notes to CD#1 on full CD/DVD sets, and link them from
README.html
* Tweak the generated Release files to be "stable" rather than
"testing"
* Added Sven's patch: a pegasos forth boot script
manual from small CDs to save space. We will probably be adding several
new translations, and possibly PDFs, and that would use too much space
on the small CDs.
- Also make the README link to the manual on the Debian web site if
OMIT_MANUAL=1.
- Update the README to mention manual translations are available.
- Preserve timestamps when copying files into the CDs
- Make sure build.sh can run in -e (stop on error) mode
- Report if packages needed by debootstrap is missing on a CD
- Report how much space is reserved on each CD
- Handle boot-floppy directories without documentation
cdimage.d.o
It's disabled by default, so this should not change the behaviour
for people that don't use it, although I don't think there's any reason
not to.
* Update the order of the boot images for i386 :
1: isolinux multiboot
2: vanilla
3: compact
4: idepci
5: bf2.4
* Put ISOLINUX=1 by default. Added it to CONF.sh.
CONF.sh as DEFBINSIZE and DEFSRCSIZE
build.sh and build_all.sh now use these settings to calculate the
packages and source files to go on each disk, using bc - shell
arithmetic cannot cope with > 32-bit numbers
use the md5sum from the textutils package - dpkg's md5sum cannot
handle large files.
* Drop dpkg-multicd support.
* Uses apt-ftparchive instead of dpkg-scan{packages,sources}
* Try to use extra override file (for Task: fields), not tested.
SECURED environment variable. It is *disabled* by default
(thanks to jgg who doesn't want to correct apt even if he
proposed the current scheme)
* Priority optional (same than in the overrides)
VERBOSE_MAKE variable added. allows the verbosity of the make process
to be controlled, by determining if the lines start with a @ or not
ATTEMPT_FALLBACK variable added. allows one to control whether build_all.sh
should bother to attempt to build a simple CD if the official build
fails.
Makefile:
o added "set -e;" to the start of most of the blocks of shell commands to
ensure that if one of the scripts fails, that fact is not ignored
o replaced many of the @'s with $(Q) and ensured that Q=@ by default.
This allows one to see what make is actually doing when it all goes
horribly wrong -- VERBOSE_MAKE in CONF.sh is used to control this
build_all.sh
o made it stop on error dependant on ATTEMPT_FALLBACK from CONF.sh
tools/pi-makelist:
These are the changes by J.A. Bezemer to get rid of files from the list
that are not available on ftp mirrors
tools/boot/potato/boot-alpha
check to see if the boot1 directory already exists, and skip its creation
if so. This is required to deal with the fact that this script gets called
for CD1 & CD1_NONUS, and making the directories twice fails, and is pointless
* Patch from Michael Schlueter for a bugfix related to forcenonusoncd1.
* Patch from myself : s/*.packages/?.packages/ in tools/scanpackages !
It's a problem that appeared with the use of FORCENONUSONCD1 and LOCAL.
first CD where possible. We then make 2 copies of this, one with
non-US and one without. Useful for people wanting to create non-US and
US-safe CD sets without having to spend so much disk space.
Side-effects: The CD tress are now $(DIR)/CD<foo> instead of
$(DIR)/<foo>
old doc. Needs a lynx dependency.
* Added arm support.
* Failry large changes to the Makefile due to the added documentation.
* Make the translated documentation more available.
* Copied some files from potato dir to the woody dir (so that we can
still build woody CDs).