Commit Graph

411 Commits

Author SHA1 Message Date
Daniel Baumann bd76f9940b Using hardlinks to copy local packages into chroot. 2008-04-17 06:51:40 +02:00
Daniel Baumann bb6b5e1249 Moving lh_chroot_packages call in lh_chroot to old place. 2008-04-17 06:51:31 +02:00
Chris Lamb 478331c4e1 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.)

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-04-17 06:51:22 +02:00
Chris Lamb 1086ec4784 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!

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-04-16 13:50:24 +01:00
Chris Lamb 19c72588c8 hooks/minimal: Use "find -print0 | xargs -0" idiom over "find | xargs"
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-04-16 13:50:24 +01:00
Tiago Bortoletto Vaz 76edb7835d lh_chroot_local-preseed: fix minor typo 2008-04-16 11:04:24 +02:00
Daniel Baumann eb7982d74e Releasing live-helper 1.0~a44-1. 2008-04-16 10:20:54 +02:00
Chris Lamb fe152b4d0c lh_binary_debian-installer: Add dependency on 'wget'
The 'minimal' hook removes wget, which is used extensively by the Debian
Installer hook.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-04-16 06:19:10 +01:00
Chris Lamb b16cedc254 Don't install "Recommends:" when installing local tools
This patch disables the installation of "Recommends:" packages whilst
obtaining build utilities such as 'syslinux'.

It has three benefits:

 * Doesn't waste time installing useless packages whilst building.

 * Keeps the "binary chroot" clean - packages leak into the the live system
   on a rebuild.

 * Makes the behaviour of Install_Package more predictable and independent
   of the chroot's APT configuration.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-04-16 03:42:28 +01:00
Chris Lamb 9e272993cc 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

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-04-16 03:34:21 +01:00
Chris Lamb 24200e1a2c 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.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-04-16 00:54:08 +01:00
Chris Lamb 8f39f474b7 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

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-04-15 18:34:34 +01:00
Chris Lamb 84612231f6 Fix typo in policy-rc.d
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-04-15 18:34:34 +01:00
Daniel Baumann ece0f9b574 Sorting image file lists. 2008-04-15 17:38:03 +02:00
Daniel Baumann 3f703f4802 Consistenly using short options rather than long options in function files. 2008-04-15 17:17:48 +02:00
Daniel Baumann fd818bdd1d Improving .deb caching by using hardlinks (if possible). 2008-04-15 17:16:28 +02:00
Daniel Baumann 214ad680d3 Creating binary and source file lists in build directory. 2008-04-15 13:59:53 +02:00
Daniel Baumann 72a7e46e00 Also copying binary package list to build directory. 2008-04-15 13:54:32 +02:00
Daniel Baumann 9d4ea53717 Also adding a packages.txt when building etch images, although there is a casper/filesystem.manifest already. 2008-04-11 18:18:04 +02:00
Chris Lamb 49d27a086d 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.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-04-10 22:36:22 +01:00
Chris Lamb 37666ee1bb helpers/lh_config, functions/defaults.sh: Correct "boostrap" -> "bootstrap"
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-04-10 22:31:17 +01:00
Daniel Baumann b7d55d146b Updating oot example hooks to loop through all install kernel flavours. 2008-04-10 12:43:50 +02:00
Daniel Baumann f4c10e4614 Releasing live-helper 1.0~a43-1. 2008-04-09 20:55:14 +02:00
Daniel Baumann d5ac81a8e3 Sort md5sum.txt files again after filename. 2008-04-09 13:31:46 +02:00
Daniel Baumann eded2a1791 Fixing forgotten variable in conffile loop. 2008-04-08 17:58:47 +02:00
Daniel Baumann 123e5477ec Updating help output of lh_config. 2008-04-08 12:18:42 +02:00
Daniel Baumann 2e25016815 Applied patch from Erwan Le Gall <elegall@linagora.com> to give a warning when installing local packages with wrong naming scheme. 2008-04-07 12:25:03 +02:00
Daniel Baumann 07a3c54d46 Using new Read_conffile(); now. 2008-04-07 12:10:21 +02:00
Daniel Baumann 8f2ad4fc97 Allowing multiple arguments for Read_conffile();. 2008-04-07 12:04:35 +02:00
Daniel Baumann af3aebda73 Centraly evaluate LH_CONFIG for custom configuration file. 2008-04-07 12:01:37 +02:00
Daniel Baumann e79e733e49 Adding 'all' configuration file. 2008-04-07 11:58:50 +02:00
Daniel Baumann c553c5bbe6 Removing temporary workaround of adding lzma-modules2.6 to linux packages, all fixed squashfs are now in sid and lenny. 2008-04-03 09:09:50 +02:00
Daniel Baumann 01825caf3b Releasing live-helper 1.0~a42-1. 2008-03-31 08:06:06 +02:00
Daniel Baumann a5fff6e72d Also including lzma modules on lenny temporarily. 2008-03-28 11:18:25 +01:00
Daniel Baumann 6204d9a8ba Applying patch from Bas Wijnen <wijnen@debian.org> to correct error messages in Require_stagefile (Closes: #472774). 2008-03-26 10:41:42 +01:00
Daniel Baumann 58544b017b Applying patch from Bas Wijnen <wijnen@debian.org> to make Check_crossarchitecture() working on non-listed architectures (Closes: #472775). 2008-03-26 10:37:39 +01:00
Daniel Baumann fe6768ed0f Releasing live-helper 1.0~a41-1. 2008-03-25 09:52:15 +01:00
Daniel Baumann b211016196 Fixing md5sum.txt creation to not fail on filenames with whitespaces, thanks to Bas Wijnen <wijnen@debian.org> (Closes: #469085). 2008-03-25 09:48:34 +01:00
Daniel Baumann 8d9638ee1d Updating copy instructions in example sources to match current state. 2008-03-25 09:30:15 +01:00
Daniel Baumann d4a35b7087 Updating credits. 2008-03-25 09:11:47 +01:00
Chris Lamb 71503807d8 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.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-03-23 04:27:21 +00:00
Chris Lamb 1ca0b58aac Allow LH_ENCRYPTION="disabled" to disable encryption
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-03-23 04:21:47 +00:00
Chris Lamb ea375828e9 lh_binary_encryption: Rework and fix broken AES encryption routines
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-03-23 04:20:31 +00:00
Chris Lamb 31dca28f67 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.
2008-03-23 04:08:46 +00:00
Chris Lamb 32f6dcd3a3 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.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-03-22 18:13:03 +00:00
Chris Lamb 3e5f888a19 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.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-03-22 18:09:46 +00:00
Chris Lamb c70412bcfa lh_binary_debian-installer: Remove "local"-oriented bashisms
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-03-22 18:05:42 +00:00
Chris Lamb 7b2994ec00 lists/gnome-core: Add gnome-themes
Gnome is really really ugly without its theme package. :)

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-03-22 03:42:36 +00:00
Chris Lamb 9e6c04702f 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.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-03-22 02:44:18 +00:00
Chris Lamb 9321c45188 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.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-03-22 01:32:11 +00:00