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.
+ Add better support for extra components, improve non-i386 mirror
support (Closes: 514237)
+ tools/update_tasks no longer assumes i386 for all builds (Closes: #513497)
+ tools/which_deb no longer assumes i386 for all builds (Closes: #513498)
* For source-only builds, don't do any task updates as they're not
useful anyway.
* Last high-urgency upload, ready for Lenny!
* 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.
These files have not been used since the introduction of make_disk_trees.pl.
Remove remaining references, which results in a nice clean up of the Makefile.
Looks like the workaround is still needed after all, so just remove
unifont from the packages that are forced.
Also, add pptp-linux to images using the di+k list instead of through
this hack (changelog says adding it here needed "FIXME later...").
+ Remove binary blobs from the package; pull those files from the
.debs in the archive as needed (isolinux.bin, vesamenu.c32)
+ sbm.bin *not* yet worked out, so drop it for now
+ Pull out the code to find the right deb and put it in a new helper
shell script (tools/which_deb), called from Makefile and boot-* as
needed.
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.
through it one package at a time. It's much faster. Closes: #470838
Needs a small re-arrangement: code from tools/add_packages and
tools/link.pl now moves into tools/make_disc_trees.pl
/usr/share. Add a sym-link to cope - let's keep compatible with etch
as much as possible. Also, log what debootstrap told us (in
debootstrap-list) rather than just including the results directly in
rawlist.
file header comments to there. Fix some bugs in passing.
* List packages for the various specific desktop tasks ahead of the non-key
packages for the general desktop task. Along with changes in tasksel 2.60
this should lead to a generally more useful set of packages on the desktop
CDs; instead of filling up with OOo, it will fill up with things specific
to the desktop environment.
* Updated task lists.
* 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
md5sums in the installer suite as well as the archive suite in
case they're different. Also removed old woody support, to clean
up the code a little. Updated Makefile and update-cd to match the
command-line interface change.