Commit Graph

231 Commits

Author SHA1 Message Date
Daniel Baumann 7bcdcf7f05 Using hardlinks to copy local packages into chroot. 2011-03-09 19:03:32 +01:00
Daniel Baumann d23cf256e8 Moving lh_chroot_packages call in lh_chroot to old place. 2011-03-09 19:03:32 +01:00
Chris Lamb 36cc525945 Install most chroot packages in one ${LH_APT} call (Closes: #475739)
This patch installs (almost) all chroot packages by queueing the package
names into a single file and then installing that. It depends on my
previous patch to install local packages by using an APT mirror.

This speeds up image build causes even greater speedups once more packages
adopt triggers.

(Packages installed by debconf preseeding are not touched, nor are packages
installed by tasks.)
2011-03-09 19:03:32 +01:00
Chris Lamb ae785955db Install local packages using a local APT repo instead of using "dpkg -i"
This patch modifies chroot_sources to build a small APT repo of the
local-packages and use that for local package installation instead of
"dpkg -i". This has a few advantages:

 * Removes the true ugliness that is "dpkg -i *.deb && apt-get install -f".
   This not only is slow and brittle, it causes scary "dpkg dependency
   error" messages to appear in build logs.

 * We can (ie. not implemented here) move to installing all the packages
   from:

    - lh_chroot_packages (ie. ${LH_PACKAGES})
    - lh_chroot_local-packages (ie. config/chroot_local-packages/*.deb)
    - lh_chroot_local-packageslists
    - lh_chroot_packages-lists
    - lh_chroot_linux-image

   .. in one shot. This would primarily improve speed as we would not keep
   invoking ${LH_APT}, and package installations can share triggers and
   suchlike -- installing a custom live-initramfs via local packages
   currently costs an additional "update-initramfs -u" call.

   It would also fix a number of obscure dependency cases, such as the one
   documented in #475739, and--if the user is using aptitude--may even
   result in better resolution choices.

 * Removes some messy and somewhat brittle code in lh_chroot_linux-image
   that edgecases a local live-initramfs.

The disadvantages are:

 * If local packages are being used and we are building in a chroot, we
   must refresh the sources list and rebuild the repo before building the
   binary images. (However, before this patch, we had to do this anyway if
   the binary mirrors were different from the chroot ones.)

 * We must add a little hack to the minimal hook to detect whether we are
   using local packages and not remove apt-utils (which creates the
   repository in lh_chroot_sources) if that is the case -- we cannot simply
   use "Install_package" inside lh_chroot_sources as we are not guaranteed
   to have working APT data because the minimal hook deliberately removes
   them!
2011-03-09 19:03:32 +01:00
Tiago Bortoletto Vaz 001bb75189 lh_chroot_local-preseed: fix minor typo 2011-03-09 19:03:32 +01:00
Chris Lamb 46e2a3271b lh_binary_debian-installer: Add dependency on 'wget'
The 'minimal' hook removes wget, which is used extensively by the Debian
Installer hook.
2011-03-09 19:03:32 +01:00
Chris Lamb 0e8c38206d Fix a number of issues with Syslinux templates (Closes: #476204)
This fixes:

 * The ugly "toboot" and "to\nboot" problems
 * Mistitled F4 page
 * Ugly line-breaking of Debian Live URL
2011-03-09 19:03:32 +01:00
Chris Lamb 90be1cb4b5 Use "find -path" for matching "path/to/file" files (Closes: #476206)
This means that /isolinux/isolinux.bin and /boot/grub/stage2_eltorito are
not included in md5sum files anymore as intended. It also prevents a
strange and verbose warning from appearing in build logs.
2011-03-09 19:03:32 +01:00
Chris Lamb cb88778a23 Fix quoting when installing local packages (Closes: #470683)
This was causing problems when building a package and there were binary
packages in the directory above 'config/'. See [0] and [1] for more info.

 [0] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=463406
 [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=476294
2011-03-09 19:03:32 +01:00
Chris Lamb b0a4988bb7 Fix typo in policy-rc.d 2011-03-09 19:03:32 +01:00
Daniel Baumann 5fe14264e0 Sorting image file lists. 2011-03-09 19:03:32 +01:00
Daniel Baumann ef1b163040 Creating binary and source file lists in build directory. 2011-03-09 19:03:32 +01:00
Daniel Baumann e296deef49 Also copying binary package list to build directory. 2011-03-09 19:03:32 +01:00
Daniel Baumann ea154f8609 Also adding a packages.txt when building etch images, although there is a casper/filesystem.manifest already. 2011-03-09 19:03:32 +01:00
Chris Lamb c3462bceab lh_chroot_linux-image: Catch missing case in local live-initramfs handling
This patch catches the case when LH_APT is "apt", its default value. This
was causing build failures when using a local live-initramfs .deb.
2011-03-09 19:03:32 +01:00
Chris Lamb 50e21abdb5 helpers/lh_config, functions/defaults.sh: Correct "boostrap" -> "bootstrap" 2011-03-09 19:03:32 +01:00
Daniel Baumann c37435dcc5 Sort md5sum.txt files again after filename. 2011-03-09 19:03:32 +01:00
Daniel Baumann ce7388dc68 Updating help output of lh_config. 2011-03-09 19:03:32 +01:00
Daniel Baumann 74030ce0a6 Applied patch from Erwan Le Gall <elegall@linagora.com> to give a warning when installing local packages with wrong naming scheme. 2011-03-09 19:03:32 +01:00
Daniel Baumann 26fc30d8eb Using new Read_conffile(); now. 2011-03-09 19:03:31 +01:00
Daniel Baumann c6b83b1fd3 Adding 'all' configuration file. 2011-03-09 19:03:31 +01:00
Daniel Baumann 5b24b59576 Fixing md5sum.txt creation to not fail on filenames with whitespaces, thanks to Bas Wijnen <wijnen@debian.org> (Closes: #469085). 2011-03-09 19:03:31 +01:00
Chris Lamb 120528e1a2 lh_chroot_hacks: Ensure initrds are group- and world- readable
The loop-aes-utils sets a umask in its update-initramfs configuration,
causing initrds to have "0600" permissions which causes boot failures
when offering the files over netboot or similar.

The justification given by loop-aes is that, as it supports encrypting
against embedded GPG keyrings, the keys would be compromised if the files
were group- or world- readable. However, as live-helper does not support
this feature, it is safe to simply correct the permissions.
2011-03-09 19:03:30 +01:00
Chris Lamb 55472e6557 Allow LH_ENCRYPTION="disabled" to disable encryption 2011-03-09 19:03:29 +01:00
Chris Lamb 13625df75c lh_binary_encryption: Rework and fix broken AES encryption routines 2011-03-09 19:03:28 +01:00
Chris Lamb 322d45eeaf lh_binary_rootfs: Remove
mksquashfs has a nasty habit of segfaulting when creating an image where
an image already exists. This can happen, for example, if you are
performing multiple runs of lh_binary and the build breaks for some reason.

This is almost certainly a bug in mksquashfs; I will look into finding a
suitable testcase.
2011-03-09 19:03:27 +01:00
Chris Lamb 679aed6441 lh_binary_debian-installer: Preseed by repacking initrd in some situations
This patch repacks the initrd when using the d-i netboot images in order
to incorporate a preseed.cfg if it exists. Before this patch, preseeding
of d-i netboot images was not possible.

Repacking the initrd has the additional advantage of being able to preseed
the first few questions of the installation process.
2011-03-09 19:03:26 +01:00
Chris Lamb 6057ecbd19 lh_binary_debian-installer: Merge pool/netboot determining logic
The code which determined whether to use the netboot d-i images was the
inverse of the code which determined whether to create a local package
pool: this patch merges the two.

This patch additionally ensures that setting "businesscard" whilst building
an ISO image will install the d-i netboot images; this was causing d-i
failures when it couldn't find its (non-existent) package pool.
2011-03-09 19:03:24 +01:00
Chris Lamb 07c3a04027 lh_binary_debian-installer: Remove "local"-oriented bashisms 2011-03-09 19:03:23 +01:00
Chris Lamb 6e9f8956ee lh_chroot_linux-image: Install dependencies differently when using aptitude
We must use "aptitude install <pkgname>" to install dependencies of a
dpkg-installed <pkgname>, or aptitude's resolver will remove it. apt-get
does not have this "feature".

This was causing a problem when using a custom versions of live-initramfs
as they would be removed, causing a boot failure.
2011-03-09 19:03:21 +01:00
Chris Lamb 02a9e29e09 lh_binary_debian-installer: Don't use --no-clobber for downloading files
Using --no-clobber at the same time as -O<file> results in <file> being
created with no contents, which was resulting in (broken) zero-byte d-i
kernels and initrds.

The patch is simple -- simply remove --no-clobber: wget -O<file> <url> will always download <url> to <file>, regardless of how
many times it is run.
2011-03-09 19:03:20 +01:00
Chris Lamb 25ac96ed14 lh_binary_debian-installer: Only create package pools when necessary
There is no need to create a package pool when creating a netboot Debian
Live image or when the LH_DEBIAN_INSTALLER is set to "businesscard".
2011-03-09 19:03:19 +01:00
Chris Lamb dd77597ac8 lh_binary_debian-installer: Re-enable d-i on netboot images
This patch also modifies the configuration logic to ensure that setting
LH_DEBIAN_INSTALLER="enabled" whilst creating a netboot image will install
the netboot variety of d-i.
2011-03-09 19:01:54 +01:00
Daniel Baumann 7c99543227 Correcting wrong logic on handling secure apt. 2011-03-09 19:01:50 +01:00
Daniel Baumann bacd270f71 Fixing wrong debian-installer auto target configuration. 2011-03-09 19:01:47 +01:00
Daniel Baumann ed5d8c3b69 Re-adding quiet on all d-i install targets in post-etch, except expert (and keeping Chris fixed quiet handling). 2011-03-09 19:01:46 +01:00
Chris Lamb df8e958021 Don't append 'quiet' kernel parameter in rescue modes 2011-03-09 19:01:44 +01:00
Chris Lamb f1cb2b0432 Ensure syslinux entry names match templates and standard d-i names
This patch alters the syslinux labels to follow the "expert" and
"expertgui" style in favour of "TextExpert" and "GUIExpert".

This makes the names match Live Helper's syslinux templates, as well as the
more typical d-i installations and numerious sources that claim that one
should "just type 'expert' at the syslinux prompt", etc.
2011-03-09 19:01:42 +01:00
Daniel Baumann c5a91189a0 Updating copyright years to 2008. 2011-03-09 19:01:41 +01:00
Daniel Baumann 0904d6b37d Also handling ext3 in lh_binary_rootfs, thanks to Bas Wijnen <wijnen@debian.org> (Closes: #468902). 2011-03-09 19:01:33 +01:00
Bas Wijnen 1268b8b957 Making usb-hdd images large enough (Closes: #468855).
When building a very minimal live system on a usb-hdd target, the generated
image is too small. A very minimal system is smaller than 50MB, and so this is
the same as DU_DIM for such a system. This is too small. Unconditionally adding
one solves the problem.
2011-03-09 19:01:31 +01:00
Chris Lamb 20da312cd1 Use ${*} instead of ${@} for checking for no arguments in lh_clean.
${@} expands to "<arg1>" "<arg2>" ... etc., which causes the -z test to
encounter too many arguments and thus fail with an error.
2011-03-09 19:01:30 +01:00
Daniel Baumann f23072923e Adding temporary hack to remove fstab when using live-installer. 2011-03-09 18:36:19 +01:00
Daniel Baumann 9ffb223d70 Adding --jffs2-eraseblock parameter.
Marco sais, that flash devices often need a different erase size than mkfs.jffs2
defaults to. Hence, this parameter passes the blocksize to the mkfs.jffs2 call
through --eraseblock option.
2011-03-09 18:36:19 +01:00
Daniel Baumann 5330b557ac It's actually enough to just truncate kernel-img.conf and also less invasive than including a default configuration. 2011-03-09 18:36:19 +01:00
Daniel Baumann 979c71fd6e Including default kernel-img.conf in live-systems. 2011-03-09 18:36:18 +01:00
Daniel Baumann 2b086405f9 Using wildcards to support more than one preseeding file. 2011-03-09 18:36:17 +01:00
Daniel Baumann d78a97a521 Honor local preseeding file for debian-installer. 2011-03-09 18:36:17 +01:00
Daniel Baumann a74fb24d5e Fixing typo in sed call to set isolinux splash file. 2011-03-09 18:36:16 +01:00
Daniel Baumann 2b6c057b1c Added forgotten getopts arguments for chroot mirror. 2011-03-09 18:36:15 +01:00