Commit Graph

278 Commits

Author SHA1 Message Date
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
Tiago Bortoletto Vaz 76edb7835d lh_chroot_local-preseed: fix minor typo 2008-04-16 11:04:24 +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 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 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 d5ac81a8e3 Sort md5sum.txt files again after filename. 2008-04-09 13:31:46 +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 e79e733e49 Adding 'all' configuration file. 2008-04-07 11:58:50 +02: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
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 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
Chris Lamb cf25064250 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".

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-03-22 01:31:42 +00:00
Chris Lamb 762613f277 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.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-03-22 01:30:55 +00:00
Daniel Baumann e994ff8771 Correcting wrong logic on handling secure apt. 2008-03-11 17:32:03 +01:00
Daniel Baumann a955c29e10 Fixing wrong debian-installer auto target configuration. 2008-03-09 13:34:41 +01:00
Daniel Baumann 92a0b19dc8 Re-adding quiet on all d-i install targets in post-etch, except expert (and keeping Chris fixed quiet handling). 2008-03-09 09:58:44 +01:00
Chris Lamb 206f3b3f21 Don't append 'quiet' kernel parameter in rescue modes
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-03-09 09:56:19 +01:00
Chris Lamb 8a19cbfff1 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.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-03-09 09:56:10 +01:00
Daniel Baumann ab336ba97e Updating copyright years to 2008. 2008-03-06 16:43:00 +01:00
Daniel Baumann cc2cf994d4 Also handling ext3 in lh_binary_rootfs, thanks to Bas Wijnen <wijnen@debian.org> (Closes: #468902). 2008-03-02 11:12:02 +01:00
Bas Wijnen dd6a5d408b 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.
2008-03-02 08:24:59 +01:00
Chris Lamb 931881f27a 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.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-03-02 01:00:38 +00:00
Daniel Baumann 522c2455bc Adding temporary hack to remove fstab when using live-installer. 2008-03-01 14:43:47 +01:00
Daniel Baumann 2e50db26fd 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.
2008-03-01 13:19:54 +01:00
Daniel Baumann ccb76dc4a4 It's actually enough to just truncate kernel-img.conf and also less invasive than including a default configuration. 2008-02-29 17:29:00 +01:00
Daniel Baumann 6244123de2 Including default kernel-img.conf in live-systems. 2008-02-29 16:40:02 +01:00
Daniel Baumann 179b86ab64 Using wildcards to support more than one preseeding file. 2008-02-29 13:32:16 +01:00
Daniel Baumann d104e3f6e7 Honor local preseeding file for debian-installer. 2008-02-29 13:27:56 +01:00
Daniel Baumann 5ce8ab768b Fixing typo in sed call to set isolinux splash file. 2008-02-29 12:47:03 +01:00
Daniel Baumann 88ecda55c3 Added forgotten getopts arguments for chroot mirror. 2008-02-27 21:06:11 +01:00
Daniel Baumann 0472269ef8 When a wrong argument is passed, that argument should be listed (Closes: #468201). 2008-02-27 19:05:35 +01:00
Daniel Baumann 2d88de5ab6 Adding option to set binary-net compression (or disable it). 2008-02-26 19:57:41 +01:00
Daniel Baumann 7d67f78ddf Re-adding additional indices updated, otherwise we wouldn't honor thirdparty repositories (anymore). 2008-02-24 16:30:58 +01:00
Daniel Baumann c6fa0ca042 Renaming LH_MIRROR_BOOTSTRAP* to LH_MIRROR_CHROOT and introducing dedicated LH_MIRROR_BOOTSTRAP for debootstrap/cdebootstrap only. 2008-02-21 20:52:37 +01:00
Daniel Baumann fd315529e0 Renaming extra bootstrap indices to chroot. 2008-02-21 20:46:49 +01:00
Daniel Baumann fa3c63f5dc Adding apt/aptitude options.
By using APT_OPTIONS and APTITUDE_OPTIONS in config/common,
one can manipulate the default options wich is made to each
and every apt and aptitude call.
2008-02-21 20:03:57 +01:00
Otavio Salvador 20ffe176ed lh_binary_rootfs: add support to generate jffs2 filesystem 2008-02-20 21:15:50 -03:00
Otavio Salvador 774aebab84 lh_binary_encryption: add jffs2 as not supported filesystem 2008-02-20 21:15:50 -03:00
Otavio Salvador 5cdd8df091 lh_config: add jffs2 in supported filesystems 2008-02-20 21:15:50 -03:00
Otavio Salvador b6149744e3 lh_source_debian: add mtd-tools since it provides mkfs.jffs2 application 2008-02-20 21:15:49 -03:00
Otavio Salvador ff9eb4e41f chroot: don't fail if /dev/pts is already mounted 2008-02-20 10:11:22 -03:00
Otavio Salvador 92cd4a1daa binary: do not fail if parameters.txt isn't available 2008-02-15 16:14:30 -02:00
Daniel Baumann 03783def4b Fixing typo. 2008-02-13 10:20:42 +01:00
Otavio Salvador 7d2d532f70 bootstrap: use minbase flavour when LH_PACKAGES_LISTS is set to minimal
Since debootstrap 1.0.8 there's a variant called minbase that installs
just essentials packages so base's size is greatly reduced. Use this
variant when producing reduced images.
2008-02-07 18:34:25 -02:00
Otavio Salvador c7cbfa0754 bootstrap: adds support to debootstrap 1.0.7
New debootstrap has change the scripts to /usr/share since they're
architecture independent code. The support for it has been added
however it fallback to /usr/lib to keep backward compatibility.
2008-02-07 15:13:45 -02:00
Daniel Baumann a8998d70d9 Removing unintendet set -x. 2008-01-18 09:52:04 +01:00
Daniel Baumann a0e8e45a4f Working arround aptitude behaviour of removing packages rather than to installing missing depends when using initramfs generator from local-packages. 2008-01-18 09:51:07 +01:00
Daniel Baumann 84d7dc0ccd Correcting wrong installation attempt of initramfs generator from local-packages. 2008-01-18 09:23:32 +01:00
Daniel Baumann 5b957702d4 Installing initramfs generator from local-packages, if available. 2008-01-17 20:54:10 +01:00
Daniel Baumann 0d0e8bb268 Renaming mini flavour to stripped to avoid confusion, thanks to Fathi Boudra <fabo@debian.org> and Ben Armstrong <synrg@debian.org>. 2008-01-17 18:15:11 +01:00
Daniel Baumann aa6643d957 Fixing typo, thanks to Fathi Boudra <fabo@debian.org>. 2008-01-16 16:50:42 +01:00
Daniel Baumann 2576eed731 Checking for /sys/class rather than /sys/kernel, avoids problem when running under OpenVZ which doesn't have sys/kernel, thanks to Takeshi Yaegashi <yaegashi@debian.org>. 2008-01-16 10:24:23 +01:00
Chris Lamb 2ae4b3bf37 Re-order hooks such that local hooks are executed first. (Closes: #453360)
Some non-local hooks clean the chroot too much, resulting in the
local hooks having to perform identical clean-up tasks (for example,
downloading a package).

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-01-15 19:51:37 +00:00
Chris Lamb c84e3c096b Re-add guards against bogus 'for' shell expansion.
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-01-15 19:47:50 +00:00
Chris Lamb 73acaf73d3 Refactor d-i udeb handling with better failure mode (Closes: #444565)
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-01-15 19:45:07 +00:00
Chris Lamb 1f436f7483 Use Install_file for udebs. 2008-01-15 19:42:28 +00:00
Daniel Baumann 948730f93a Consistently using the pipe as seperator in sed commands now. 2008-01-15 08:25:29 +01:00
Chris Lamb 52e7c9732d Move installing binary.deb/archives/*.deb.
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-01-15 02:47:29 +00:00
Chris Lamb 5b396d4fe7 Remove conditionals, as an expansion never 'fails': it just
won't copy any files.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-01-15 02:44:41 +00:00
Chris Lamb 13e554b150 Refactor installing file to binary/pool/main/./.* functionality.
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-01-15 02:43:42 +00:00
Chris Lamb f3f9239110 Don't put more than one glob on a 'for' line, unless they are guaranteed
to succeed, otherwise the second one is not expanded and "*.deb" (for
example) is used literally.

This patch expands (haha) each "for" loop into it's own.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-01-15 02:41:10 +00:00
Chris Lamb c837a9ebb4 Implement -v/--version and -h/--help in lh_clean.
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-01-15 00:05:51 +00:00
Chris Lamb c833147b8d Implement -u/--usage function in lh_clean (Closes: #454553)
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2008-01-14 23:43:51 +00:00
Daniel Baumann fefba74183 Don't fail if resolv.conf is a symlink, thanks to David Madore <david.madore@ens.fr> (Closes: #457595). 2007-12-23 21:26:01 +01:00
Daniel Baumann 042354c7df Switching to GPL3+. 2007-12-22 09:45:48 +01:00
Daniel Baumann c3123302c9 Addjusting lh helper to be called from lh_local. 2007-12-22 09:36:54 +01:00
Daniel Baumann f40522b7d8 Adding lh_local based on the idea from Tzafrir Cohen <tzafrir.cohen@xorcom.com>. 2007-12-22 09:34:38 +01:00
Daniel Baumann 1be409ac5f Fixed incomplete fdisk parameter list in lh_config --help. 2007-11-21 11:19:38 +01:00
Daniel Baumann 6b444f8348 Also removing manpage cache in cleanup. 2007-11-20 11:23:26 +01:00
Daniel Baumann 87426f6165 Disabling global arguments in lh_clean (Closes: #451960). 2007-11-19 17:55:28 +01:00
Daniel Baumann 7e6e498ce7 Moving sanity check in lh_clean to the earliest possibility. 2007-11-18 16:15:43 +01:00
Daniel Baumann fefbe2259e Switching lh_clean to proper command line arguments. 2007-11-18 16:14:50 +01:00
Daniel Baumann 964eab423a Fixing wrong parted call. 2007-11-18 11:33:46 +01:00
Daniel Baumann d26e57998f Adding an upgrade and dist-upgrade to lh_chroot_sources, so that security updates gets pulled into the base system. Thanks to Kai Hendry <hendry@iki.fi>. 2007-11-18 11:09:55 +01:00
Daniel Baumann ec0d5cd48b Adding binary filesystem option, currently only supporting fat16 and fat32. 2007-11-16 23:01:03 +01:00
Daniel Baumann 702de9d2ed Speeding up the dd call, thanks to Peter Skogstroem <peter.skogstrom@bitrunner.com>. 2007-11-15 10:11:56 +01:00
Daniel Baumann 2e51237e12 Do really not create the filesystem with parted. 2007-11-14 23:04:24 +01:00
Daniel Baumann 6edcf23b29 Do not create the filesystem with parted. 2007-11-14 23:01:44 +01:00
Daniel Baumann 7b8a85422a Mounting pseudo filesystems before creating binary images in non-chrooted builds. 2007-11-14 10:13:58 +01:00
Daniel Baumann 94c3ca731a Moving lh_losetup into an internal function, avoiding helper failure with return value due to new trap. 2007-11-14 09:55:50 +01:00
Daniel Baumann 769618067d Fixing fstab handling. 2007-11-13 22:41:08 +01:00
Daniel Baumann e743c23cd7 Fixing some coding style issues. 2007-11-13 13:49:41 +01:00
Daniel Baumann 2e35367c01 Adding 'remove' case, which is in between of all and purge. 2007-11-13 13:08:51 +01:00