Builder for live images based on Debian
Go to file
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
contrib Improved wording of debian-live splash license. 2011-03-09 19:01:38 +01:00
data/debian-cd Adding live-helper 1.0~a27-1. 2011-03-09 18:22:26 +01:00
debian Releasing live-helper 1.0~a44-1. 2011-03-09 19:03:32 +01:00
docs 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
examples Updating oot example hooks to loop through all install kernel flavours. 2011-03-09 19:03:32 +01:00
functions Releasing live-helper 1.0~a44-1. 2011-03-09 19:03:32 +01:00
helpers Install local packages using a local APT repo instead of using "dpkg -i" 2011-03-09 19:03:32 +01:00
hooks Install local packages using a local APT repo instead of using "dpkg -i" 2011-03-09 19:03:32 +01:00
includes Adding live-helper 1.0~a19-1. 2011-03-09 18:22:26 +01:00
lists lists/gnome-core: Add gnome-themes 2011-03-09 19:03:22 +01:00
manpages Fixing manpage quoting errors. 2011-03-09 18:36:12 +01:00
templates Fix a number of issues with Syslinux templates (Closes: #476204) 2011-03-09 19:03:32 +01:00
COPYING Switching to GPL3+. 2011-03-09 18:22:29 +01:00
Makefile Fixing typing error in Makefile. 2011-03-09 18:22:29 +01:00

docs/README

  * lh_config

  * lh_bootstrap
      |_ lh_cdebootstrap
      |_ lh_debootstrap

  * lh_chroot
      |_ lh_chroot_proc install
      |_ lh_chroot_sysfs install
      |_ lh_chroot_debianchroot install
      |_ lh_chroot_sysvrc install
      |_ lh_chroot_hosts install
      |_ lh_chroot_resolv install
      |_ lh_chroot_apt install
      |_ lh_chroot_sources install
      |_ lh_chroot_linux-image install
      |
      |_ lh_chroot_tasks
      |_ lh_chroot_packageslists
      |_ lh_chroot_packages
      |_ lh_chroot_localpackages
      |_ lh_chroot_localpackageslists
      |_ lh_chroot_localization
      |_ lh_chroot_hacks
      |_ lh_chroot_local-includes
      |_ lh_chroot_sysvinit
      |_ lh_chroot_hooks
      |_ lh_chroot_localhooks
      |_ lh_chroot_symlinks
      |_ lh_chroot_interactive
      |
      |_ lh_chroot_linux-image remove
      |_ lh_chroot_sources remove
      |_ lh_chroot_apt remove
      |_ lh_chroot_resolv remove
      |_ lh_chroot_hosts remove
      |_ lh_chroot_sysvrc remove
      |_ lh_chroot_debianchroot remove
      |_ lh_chroot_sysfs remove
      |_ lh_chroot_proc remove

  * lh_binary
      |_ lh_binary_chroot
      |
      |_ lh_chroot_proc install
      |_ lh_chorot_sysfs install
      |_ lh_chroot_hosts install
      |_ lh_chroot_resolv install
      |_ lh_chroot_sources install
      |
      |_ lh_binary_rootfs
      |_ lh_binary_manifest
      |_ lh_binary_encryption
      |
      |_ lh_binary_linux-image
      |_ lh_binary_memtest86
      |_ lh_binary_grub
      |_ lh_binary_syslinux
      |_ lh_binary_includes
      |_ lh_binary_local-includes
      |_ lh_binary_md5sum
      |
      |_ lh_binary_hdd
      |_ lh_binary_iso
      |_ lh_binary_net
      |_ lh_binary_usb-hdd
      |
      |_ rm -f .stage/chroot_sources
      |_ lh_chroot_resolv remove
      |_ lh_chroot_hosts remove
      |_ lh_chroot_sysfs remove
      |_ lh_chroot_proc remove

  * lh_source
      |_ lh_chroot_hosts install
      |_ lh_chroot_resolv install
      |_ lh_chroot_sources install
      |
      |_ lh_source_config
      |_ lh_source_download
      |_ lh_source_md5sum
      |
      |_ lh_source_generic
      |_ lh_source_hdd
      |_ lh_source_iso
      |_ lh_source_net
      |_ lh_source_usb-hdd
      |
      |_ rm -f .stage/chroot_sources
      |_ lh_chroot_resolv remove
      |_ lh_chroot_hosts remove

  * lh_clean