debian-cd currently expects there to always be isolinux/desktop/*
files and a dtmenu.cfg file, failing if they are missing. Make it so
debian-cd can cope whether those files are present or not.
--no-check-gpg option; we're not going to support debootstrap versions
so old that they don't support this flag, *and* the dpkg-query call
doesn't give us the right version anyway - we're using an extracted
copy from the archive, not the one that (might be) installed on our
build machine.
Use ARCHIVE_KEYRING_PACKAGE and ARCHIVE_KEYRING_FILE parameters
and always use the unpacked keyring instead of the system-wide one.
Thanks to Robert Spencer <rspencer@lbsd.net> for the patch.
better safety when extracting boot loader files.
* Update all the relevant boot-* scripts to do the right thing when
extracting packages and sources, depending on
$ARCHIVE_EXTRACTED_SOURCES as above
Steve pointed out that this lookup is only here so that helper scripts
can grab those sources and make them available in a public location
such as http://cdimage.debian.org/cdimage/cd-sources/. The sources are
not embedded in the generated ISO and are thus not strictly needed
for building the ISO image.
This should happen even when we're not building source ISOs but it's
not needed if we don't have any similar policy in place. Thus CONF.sh
is now leaving $ARCHIVE_EXTRACTED_SOURCES unset by default and the
source will only be looked up if that value is set.
+ tools/sort_deps: parse out Built-Using from Packages files too and
pass any such data on to tools/merge_package_lists
+ tools/merge_package_lists: if we have any built-using source
packages listed when doing a combined binary/source set, add them in
the same way as existing listed sources.
* Other bug fixes in tools/merge_package_lists:
+ Fix handling of multi-line Binary: fields
+ Print out the accumulated size of source packages in output also
(fix to printf format string)
versions of a source package:
+ make_disc_trees.pl now tracks arrays of packages when parsing
apt-cache output
+ We'll now pull in all the extra packages included in Sources.gz
because of Built-Using.
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.
+ 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.
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
report errors instead of silently failing.
Split out the code for starting a new disc into a function.
Pick up on a potential bug: if we finish the last (expected) disc with
a backed-out file, make sure we create another imaget to include that
file too.
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.
+ 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.