Detect duplicates in the extra images used for installation
Several files included under install.{386,amd} are actually identical to
others. Rather than duplicating them attempt to detect this and hardlink
them.
Since images can be downloaded from the web at build time it is not
always possible to detect identical files by looking for the symlinks
created by the debian-installer build. Instead we pass a list of
potential "doppelgangers" to extra_image each of which is checked for
similarity to the new image.
I added gtk/vmlinuz (which is always the same as plain vmlinuz) which
although not necessary makes it more explicit which kernel goes with the
initrd at very little cost.
Hardlinks are used in preference to symlinks since these are expected to
work better with isolinux and the Xen tools.
+ Add "FORCE_FIRMWARE=1" to CONF.sh to turn this on
+ Will pick up on packages in the "firmware" task and install them
+ Will also add sym-links to them in CD1/firmware so that new d-i code
can find them easily.
+ Will add a short sentence into README.html/README.txt
* Add top-level control of which checksums are desired for output images
see the CHECKSUMS setting in CONF.sh
* Fix some bashisms in tools/apt-selection.
The old setup worked fine with an ext2 initrd but fails with an initramfs,
either because autodetection is different for initramfs or because of kernel
changes (I suspect the first).
This means that booting s390 from CD has not worked since sometime during the
Etch release cycle, even though support for booting from CD was only added
early in that cycle - ouch.
For booting with an initramfs initrd we apparently need to specify its
offset and size at specific memory locations.
Change is based on SuSE's CD boot. Many thanks to Adam Thornton, Mark Post
(of Novell) and Bastian Blank for providing the pointers to the missing bits.
This fixes booting from CD using the d390.ins file; tested in Hercules for
both Lenny (31-bit kernel) and Squeeze (64-bit kernel).
Booting from CD using the d390.tdf file may still be broken (if possible at
all) as I have no idea how to test that.
didn't gave any result. This is useful when using partial mirrors built by
simple-cdd while trying to build a Debian CD using a newer d-i (in my case
etch CD with lenny d-i).
* Use dpkg --fsys-tarfile instead of ar for extracting files from deb
packages. The previous invocation could have failed for packages using
something other than gzip compression.
Patch from Ian Campbell.
It seems that "apt-cache depends" recently (as of 0.7.22) started
including Enhances lines in its output. Leading to:
Generating dependency tree with apt-cache depends...
UNEXPECTED: Line ` Enhances: kvm
' while parsing end of deptree from 'kvm-source'
[etc....]
Ignore these lines.
Patch from Ian Campbell.
i386 Xen guests require a PAE (686-bigmem) kernel in order to
run. Therefore this variant includes the relevant installer kernel and
ramdisk in install.386/xen as well as suitable kernel udebs and proper
debs for the installed system.
amd64 Xen has no similar requirement but we include the kernels under
install.amd/xen in order to have a consistent path under both
architectures.
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.
Only do boot disk stuff for x86 and alpha if the image is supposed to be
bootable. For i386 and amd64 this avoids downloading D-I images for all
30+ CDs in a full set.
Adjust x86 boot scripts for new version (2.0) of framework in D-I for
creation of syslinux configuration files. Essentially the new version
is a backport of what was already implemented in debian-cd before the
release of Lenny and allows a significant simplification.
There are no significant changes in generated CD/DVD images.
+ 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!
This environment variable was used by simple-cdd to force the default
installation option to the graphical installer. Now that we have the
syslinux VESA menu, the option has become rather pointless.
See #512303 for discussion.
Include all four desktop environments supported by tasksel (GNOME, KDE,
LXDE and Xfce).
On x86 also add an option in the isolinux menu (under Advanced options)
to select which DE to install; GNOME remains default.
Supports installation of either an xfce or an lxde desktop environment.
For now use B as identifier for INSTALLER_CD in contrib/testingcds.
Includes a framework to manipulate the isolinux configuration for x86 so
that a user can select which desktop he wishes to install.
For now use A as identifier for INSTALLER_CD in contrib/testingcds;
we should probably switch to a double digit scheme post lenny or
even generally rationalize the use of INSTALLER_CD.
* 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.
This is mainly to have the desktop= option passed correctly.
Also switch to space separation in -hppa-cmdline for consistency with
other architectures.
By first assembling the command in a variable and then using eval to execute it
we avoid both duplication and errors passing quoted options in $MKISOFS_OPTS.
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.