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.