had a limited set of hard-coded menu entries - this was buggy and
didn't take into account all the possible boot variations. Now parse
the isolinux menus already provided in the d-i build and generate
equivalent grub menus, complete with themes for a reasonable layout
with graphics and titles.
+ Check all the architectures available in the archive if we're not
specifically told which to use (e.g. on source builds)
+ If we fail to find packages/sources for the specified package, say
so and bail out properly.
Old code used to add the various options in the special case for
"pacakges providing not truly virtual pacakges", which amounted to an
OR dep on the whole set. I missed that in the re-implementation with
version tracking.
Now explicitly switched to adding an OR dep for *all* cases here -
other code will deal with that already. Tweak the logging code to make
things clearer too...
+ Use/parse output from a newer version of apt so that "apt-cache
depends" will include version information on dependencies.
+ All tracking of packages now include versions, so we pass around
hashes of {package name, comparison op, version} everywhere instead
of simply passing package names as strings.
+ Add the APT::Cache::ShowVersion=1 option to apt-cache calls to
turn on version reporting. Needs a locally-patched version of apt
*for now*, but expecting that to be fixed for the Wheezy
release. The new code degrades gracefully if version info is not
available.
+ Add a dependency on libdpkg-perl for version comparison code.
+ Pull in grub-efi for amd64 and i386
+ Lots of extra code in boot-x86:
- pull grub EFI pieces out of the latest debian-cd_info.tar.gz
blobs in d-i, if they're there. If so, use them to make x86 images
bootable via EFI (both via CD and USB)
- generate boot entries for grub on the fly; temporary code for now,
will switch to parsing the isolinux entries shortly instead.
- depending more and more on xorriso rather than genisoimage...
+ Track whether a dependency chain is caused by a hard dependency
(Depends) or soft (Recommends/Suggests). If we fail to add a package
down the chain on a *soft* dependency, don't invalidate the entire
chain.
+ When checking OR dependencies, *first* check to see if any of the
options are already installed *before* trying to install the first
option. Helps a lot with circular deps such as task-lxde-desktop ->
task-desktop -> (task-gnome-desktop | task-lxde-desktop | etc.); in
this case, of course task-lxde-desktop should satisfy the OR dep.
If $DI_CODENAME is ever set to a bad value, one would end up trying to
use a non-existing debian-installer, resulting in non-bootable images
way later. To detect that much earlier, make sure all locations
(computed from $CODENAME and $DI_CODENAME) are directories.
menu (pulled in by desktop tasks),
aptitude (pulled in by debootstap, and may be demoted to optional),
alsa-utils, alsa-base (pulled in by task-desktop),
mdetect, read-edid (no longer used by xorg),
grub (handed by generate_di+k_list),
deborphan, debfoster, localepurge (expert user stuff),
chdrvfont (no such package any more)
* Updated generate_di+k_list to match more closely the current
packages d-i apt-installs.
+ removed architectures: alpha arm hppa
+ removed releases: etch lenny
+ removed unversioned data/sparc and data/yaboot, versioned
equivalents are in place already.
+ Switch to “3.0 (native)” source format to get rid of .svn
directories in the source package (when built from the svn checkout
directly)
+ Support build-arch/build-indep targets in debian/rules.
+ Drop executable rights from tools/boot/wheezy/boot-hurd
(and fix debian/rules to not re-add it).
+ Bump Standards-Version to 3.9.2 (no change required).
Falls back to old location so update_tasks can still be used with old
tasksel.
This does not deal with most of the task information being removed from
debian-tasks.desc. The file still has Key fields, that now list the task-*
packages, and the packages Depend on the crucial packages for the task.
So to that extent it should continue to work.
However, with NORECOMMENDS set, the Recommended other packages for tasks
won't be included on CD. This still needs to be dealt with, probably by
adding all packages listed in Recommends of task-* packages to the
generated task list files.
+ Removed all mention of 686-bigmem as it's now gone
+ Moved 686 to interesting-fromcd23
+ Added 686-pae onto CD#1 in place of 686
+ Leave the 486 kernel on CD#1 still, for people who can't use 686-pae
Rather than use the firmware task which gets out of date, look for
firmware/microcode files directly in the Packages file. Check for
things installing in /lib/firmware, and add those packages.
of packages on the CD too. There's always a small chance we'll have to
remove them *again* (e.g. large source packages that don't fit), so
let's make that possible.
+ Remove the old non-US stuff from it, it's not been needed in years.
+ Cope with .bz2 source files too.
+ Merged and simplified the old functionality from scansources.old
and scanpackages.old into the new script create_control.
+ Makefile: Add support for overriding the MKISOFS and MKISOFS_OPTS
variables on a per-arch basis
+ CONF.sh: add working examples for this
+ tools/boot/squeeze/boot-x86: if configured to use xorriso, add the
extra command line options to add the isohybrid MBR. Also work
around a difference in ISO directory naming between genisoimage and
xorriso.
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.