Commit Graph

352 Commits

Author SHA1 Message Date
Chris Lamb 22f8d1cf18 Fix a bug where a /etc/apt/preferences supplied in chroot_local-includes was always being deleted when used in conjunction with config/chroot_apt/preferences. 2011-03-09 19:03:37 +01:00
Chris Lamb dd074f1461 Abort build if working directory contains spaces - not supported by (at least) debootstrap and cdebootstrap. 2011-03-09 19:03:36 +01:00
Chris Lamb cb7809fc83 Replace spaces in LH_BOOTSTRAP_{IN,EX}CLUDE variables with commas on use. Thanks to Cyril Brulebois <cyril.brulebois@kerlabs.com>. (Closes: #490114) 2011-03-09 19:03:36 +01:00
Chris Lamb b6e8bde6d5 Fix syntax error in --ignore-system-defaults handling. 2011-03-09 19:03:36 +01:00
Chris Lamb 0e0c22cb6f Ensure ~/.gnupg exists (required for gnupg >= ~1.4.9) 2011-03-09 19:03:36 +01:00
Chris Lamb 5883931966 Fix bug where command-line argument --ignore-system-default was not seen before it was required. 2011-03-09 19:03:36 +01:00
Chris Lamb 6e64be0c82 Fix formatting error with --ignore-system-defaults in "lh_config --help" 2011-03-09 19:03:36 +01:00
Chris Lamb c907da2ad1 Add --ignore-system-defaults option to not source /etc/default/live-helper. 2011-03-09 19:03:36 +01:00
Chris Lamb bb528d9f19 Use a temporary apt key when installing local packages (Closes: #488257)
This patch also allows preferring locally provided packages by preferencing
repositories with the label 'local-packages' in chroot_apt/preferences.
2011-03-09 19:03:36 +01:00
Chris Lamb ad5c5bc2c7 Fix caching of APT indices (Closes: #478744)
I've tested this the cross-product of LH_APT={apt,aptitude} and
LH_APT_SECURE={enabled,disabled} with no problems.
2011-03-09 19:03:36 +01:00
Chris Lamb e4e77a0c91 Refactor d-i GTK image selection, ensuring the GTK installer is only chosen on the netboot variant when building on powerpc. 2011-03-09 19:03:36 +01:00
Chris Lamb e7b0c3b78a Only consider linux-image-2.6-prep powerpc kernel image on Etch. 2011-03-09 19:03:36 +01:00
Chris Lamb 19039961c8 Refactor remote d-i location handling and ensure correct locations for powerpc. 2011-03-09 19:03:36 +01:00
Chris Lamb 412ac01000 Re-order a case statement for consistency. 2011-03-09 19:03:36 +01:00
Chris Lamb a46e647710 Fix incorrect test for sparc architecture in binary include handling. 2011-03-09 19:03:36 +01:00
Chris Lamb 730cf9e4eb Add support for generation of sparc netboot images. 2011-03-09 19:03:36 +01:00
Chris Lamb 9f1a88d0d9 Add support for sparc "tar" binary image type. 2011-03-09 19:03:36 +01:00
Chris Lamb fd9c9df5a8 Add support for sparc install includes. 2011-03-09 19:03:36 +01:00
Chris Lamb 468838fdad Refactor destination setting in lh_binary_silo to check arguments at beginning of the script. 2011-03-09 19:03:36 +01:00
Chris Lamb 1271828d6d Abort build if building from the root directory (/) as this causes misc build failures. 2011-03-09 19:03:36 +01:00
Chris Lamb 9fba09b735 Emit a warning when running lh_build without a config/ directory. 2011-03-09 19:03:36 +01:00
Chris Lamb 5e310e0fca Migrate a few uses of grep to In_list. 2011-03-09 19:03:36 +01:00
Chris Lamb f24582d59d Remove a useless space 2011-03-09 19:03:35 +01:00
Chris Lamb 988db3ba49 Consolidate grep text searching predicates to use "grep -qs"
If this is deemed not portable enough in the future, it should be easy
enough to find/replace.
2011-03-09 19:03:35 +01:00
Chris Lamb 5f3168deb7 Revert aborting live d-i installation if minimal/stripped is selected and instead attempt to not break the chroot too much in this case 2011-03-09 19:03:35 +01:00
Chris Lamb a5e675792a Replace another unweildy "if P1 || P2" statement with its "case" equivalent. 2011-03-09 19:03:35 +01:00
Chris Lamb 8474de1d65 Remove more imported whitespaces. 2011-03-09 19:03:35 +01:00
Chris Lamb 519d7c17cd Adjust "lh_config --help" and lh_config(1) so that the -m option corresponds with --mirror-bootstrap isntead of --mirror-binary-security. 2011-03-09 19:03:35 +01:00
Daniel Baumann 444ef13a69 Removing imported whitespaces. 2011-03-09 19:03:35 +01:00
Chris Lamb 369fd95bee Only deference symlinks on usb-hdd filesystems that do not support symlinks. 2011-03-09 19:03:35 +01:00
Chris Lamb 51a75d515a Add support for ext2 and ext3 to lh_source_usb-hdd. 2011-03-09 19:03:35 +01:00
Chris Lamb cc8092771e Add support for usb-hdd on sparc (requires parted 1.8 from experimental). 2011-03-09 19:03:35 +01:00
Chris Lamb c96228be81 Refactor mkfs handling. 2011-03-09 19:03:35 +01:00
Chris Lamb 36f737b756 Refactor partition table type handling. 2011-03-09 19:03:35 +01:00
Chris Lamb f5dc49aaeb Refactor partition type handling. 2011-03-09 19:03:35 +01:00
Chris Lamb 1edb371113 Prefix mount and unmount in lh_binary_debian-installer with LH_ROOT_COMMAND. 2011-03-09 19:03:35 +01:00
Chris Lamb 336687882c Add support for sparc to lh_binary_debian-installer. 2011-03-09 19:03:35 +01:00
Chris Lamb d4f70af91b Add support for the sparc architecture. 2011-03-09 19:03:35 +01:00
Chris Lamb 1acc8f8b0b Add lh_binary_silo and associated templates to support the SILO bootloader. 2011-03-09 19:03:35 +01:00
Chris Lamb a26d1c55e1 Ensure apt-utils is installed in the helpers it is required.
This allows us to remove a hacky test from hooks/minimal to see whether
we need the package.
2011-03-09 19:03:35 +01:00
Chris Lamb 5cb3a1a800 Abort if "live" d-i installation is attempted with minimal or stripped LH_PACKAGES_LISTS
This is required because lh_binary_rootfs removes /boot if minimal or
stripped is the only packages list.
2011-03-09 19:03:35 +01:00
Chris Lamb e7b3cabbd7 Fix d-i locations in yaboot entries. 2011-03-09 19:03:35 +01:00
Chris Lamb 7b881914d4 Fix trivial typographic error ("flavor" => "flavour") 2011-03-09 19:03:35 +01:00
Chris Lamb 21592c73bc Only deference symlinks on FAT{16,32} partitions on usb-hdd. 2011-03-09 19:03:35 +01:00
Chris Lamb f662127928 Revert always deferencing symlinks when installing some binary includes. 2011-03-09 19:03:35 +01:00
Chris Lamb 600d183d29 Add Echo_breakage for messages preceeding often-breaking stages and use before {c,}debootstrap calls 2011-03-09 19:03:35 +01:00
Chris Lamb 243ee8a6d3 Replace a few unweildy "if" statements with their "case" equivalents 2011-03-09 19:03:35 +01:00
Chris Lamb 85493ae3b2 Move Etch syslinux workaround closer to the original definitions 2011-03-09 19:03:35 +01:00
Chris Lamb 1bd10cea37 Use correct location of powerpc d-i images. 2011-03-09 19:03:35 +01:00
Chris Lamb 4d748e582c Set correct d-i image type on usb-hdd and tar image types 2011-03-09 19:03:35 +01:00
Chris Lamb 4950924195 Remove pointless "echo" statements pre- and post- cdebootstrap 2011-03-09 19:03:35 +01:00
Chris Lamb 991139e0f6 Allow LH_APT_SECURE to disable package cdebootstrap package authentication 2011-03-09 19:03:34 +01:00
Chris Lamb 25ad66e62d Rename USE_NETBOOT_DI to DI_IMAGE_TYPE 2011-03-09 19:03:34 +01:00
Chris Lamb a1caf63a92 Always deference symlinks when installing some binary includes to fix breakage on amd64. 2011-03-09 19:03:34 +01:00
Chris Lamb 41638d7921 Ensure "Using system defaults" message appears when calling lh_config without --verbose 2011-03-09 19:03:34 +01:00
Chris Lamb 01a611b24d Don't skip single dot-files in the root directory of binary and chroot local includes 2011-03-09 19:03:34 +01:00
Chris Lamb 7540b66682 Don't exclude live-installer when LH_DEBIAN_INSTALLER=live 2011-03-09 19:03:34 +01:00
Chris Lamb 90d2fedc09 Fix a few bogus guards in lh_binary_debian-installer 2011-03-09 19:03:34 +01:00
Daniel Baumann e6b633314e Parsing local arguments to lh_config last. 2011-03-09 19:03:34 +01:00
Daniel Baumann 76319632a1 Correcting order where system-wide lh_config defaults file is read, thanks to Juergen Fiedler <juergen.fiedler@gmail.com>. 2011-03-09 19:03:34 +01:00
Daniel Baumann 4c4e58ca20 Only saving source indices to indices cache if source indices are actually existing, thanks to Thanatermesis <thanatermesis.ecvs@elivecd.net>. 2011-03-09 19:03:34 +01:00
Daniel Baumann 11883b9f46 Correcting path for system-wide lh_config defaults file. 2011-03-09 19:03:34 +01:00
Marco Amadori 80a2f25b02 Added support for /etc/live-helper.
* lh_config system-wide configuration file, like an implicit specification
  of '--conffile=/etc/live-helper' to each lh_config call.
2011-03-09 19:03:34 +01:00
Marco Amadori 2b287d6b6c Removed a useless space. 2011-03-09 19:03:34 +01:00
Chris Lamb b067d159ec Create chroot_local-preseed/ directory when building config/ in lh_config 2011-03-09 19:03:34 +01:00
Daniel Baumann ae58d0f7af Producing rsyncable tarballs where possible. 2011-03-09 19:03:33 +01:00
Chris Lamb ac27ecc2e0 Allow fallback to chroot_package-lists inside binary lists
Without this, a modified version of the (say) "gnome" list inside
chroot_package-lists would be completely ignored when installing binary
packagelists.
2011-03-09 19:03:32 +01:00
Chris Lamb efa7c76589 Remove temporary binary package list files 2011-03-09 19:03:32 +01:00
Chris Lamb ffa20df082 Tidy calls to new Expand_packagelist 2011-03-09 19:03:32 +01:00
Daniel Baumann 002c79ef51 Some formating and style cleanups. 2011-03-09 19:03:32 +01:00
Daniel Baumann cc3c1ff10d Using one single packages cache directory for all chroot packages. 2011-03-09 19:03:32 +01:00
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