Provide hashes for uncompressed Translation-* files, and remove the
uncompressed versions from the output disc. Closes: #767253. Initial
patch from Michael Vogt - thanks!
d-i has removed these files now, so don't look for them for kernel
params. Closes: #767223, #766411. Thanks to Prema and Vagrant for
(identical!) patches. :-)
tasksel now allows selecting the desktop, and d-i has dropped the boot
menu desktop selection, so we no longer need to have desktop boot
menus on CDs.
CD images for specific desktops (xfce/kde/mate/etc) should still
override the default tasksel desktop.
Use "apt-cache show" instead of "dumpavail" in the Makefile.
Using "dumpavail" dumps all packages, while we're only interested in one
specific package. This wasts a log of cycles and time when many packages
need fixing.
Use "show $pkg" to directly dump only the requested package.
Use "--no-all-versions" to show only the candidate for installation.
Closes: #759343. Thanks to Philipp Hahn for the patch.
The code was assuming that the first line of output was something like
this (and this is the case of the cd builder machine that uses a custom
built xorriso):
> GNU xorriso 1.2.6 : RockRidge filesystem manipulator, libburnia project.
But the output of the version packaged in Debian does not have the GNU
string:
> xorriso 1.3.2 : RockRidge filesystem manipulator, libburnia project.
We fix this issue by extracting the version from the line starting with
"xorriso version" which does not have this discrepancy.
debian-installer now has extra steps to create a grub_embed file which
can be passed to xorriso's --embedded-boot option. Add corresponding
code in debian-cd to use it to make images USB bootable.
Patch from Samuel Thibault.
I removed this and more earlier while cleaning out undocuented cruft. (I
have not added back module-assistant so far, since it needs build-essential
which would pull in additional dependencies.)
When making a custom server netinstall ISO, it may be desired to not
have MS Windows files. Unfortunately there's currently no check for
loadlin.exe, so install.bat gets created regardless. Fix this.
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.
though it is now only a dependency package.
* Add firmware-linux-free to firmware list, as a convenient way to make
it available along with the other firmware files. (It could, instead,
be included directly in d-i images, if there were a udeb.)
Closes: 566561
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.
AFAICT this option does not do anything: we're already booting from
CD-ROM at this point. If it were needed, it should also have been
included in the other append= lines.
- Remove aspell* packages as they do not included on CD1 anyway and
excluding them also means they get excluded from DVD1.
- Remove xen/vserver linux-image packages as they do not get included on
CD1 anyway.
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.
Modify the syslinux configuration for amd64/i386 multi-arch images
and use ifcpu64.c32 to autodetect 32/64-bit systems when a user hits
enter from the isolinux help screens.
Based on research done and info provided by Franklin Piat.
Currently the isolinux configuration only gets created correctly if the
two arches are specified in the order "amd64 i386". Change the lenny x86
boot script so it works the other way around too.
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.
brltty has started pulling in libicu, which has a size of 5MB.
An overhead of 5MB is just too big for netinst CD images for a
package that is only needed by a very small group of users and
that will normally also be available from a mirror (brltty gets
installed during finish-install).
For full CDs and DVDs the package will still get included as it's
listed in forcd1.
Some udebs that no longer exist are removed and new (in some cases not
really new, but well) udebs that are known to be included in the initrd
are added. For i386 and amd64 the list of kernel udebs already included
in the initrd is updated.
They are no longer installed from D-I as jbfterm was only needed for
base-config and unifont's dependencies have become insane.
Saves 15MB on i386 netinst images.