From 36cc525945f8726662dbb35395a24064cee0098f Mon Sep 17 00:00:00 2001 From: Chris Lamb Date: Thu, 17 Apr 2008 04:13:49 +0100 Subject: 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.) --- helpers/lh_chroot_local-packageslists | 34 +++++++++------------------------- 1 file changed, 9 insertions(+), 25 deletions(-) (limited to 'helpers/lh_chroot_local-packageslists') diff --git a/helpers/lh_chroot_local-packageslists b/helpers/lh_chroot_local-packageslists index ac21f09cc..8a1bef0c1 100755 --- a/helpers/lh_chroot_local-packageslists +++ b/helpers/lh_chroot_local-packageslists @@ -1,6 +1,6 @@ #!/bin/sh -# lh_chroot_local-packageslists(1) - install local packages lists into chroot +# lh_chroot_local-packageslists(1) - queue install of local packages lists into chroot # Copyright (C) 2006-2008 Daniel Baumann # # live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING. @@ -18,7 +18,7 @@ do done # Setting static variables -DESCRIPTION="install local packages into chroot" +DESCRIPTION="queue install of local packages lists into chroot" HELP="" USAGE="${PROGRAM} [--force]" @@ -28,7 +28,7 @@ Arguments "${@}" Read_conffile config/all config/common config/bootstrap config/chroot config/binary config/source Set_defaults -Echo_message "Begin installing local packages lists..." +Echo_message "Begin queueing installation of local packages lists..." # Requiring stage file Require_stagefile .stage/bootstrap @@ -44,32 +44,16 @@ Create_lockfile .lock if ls config/chroot_local-packageslists/* > /dev/null 2>&1 then - # Restoring cache - Restore_cache cache/packages_local-packageslists - - for PACKAGESLIST in config/chroot_local-packageslists/* + for PACKAGES_LIST in config/chroot_local-packageslists/* do # Generate package list - Expand_packagelist "$(basename ${PACKAGESLIST})" "config/chroot_local-packageslists" "${LH_BASE:-/usr/share/live-helper/lists}/lists" > chroot/root/"$(basename ${PACKAGESLIST})" - - # Installing package list - case "${LH_APT}" in - apt|apt-get) - Chroot "xargs --arg-file=/root/$(basename ${PACKAGESLIST}) apt-get ${APT_OPTIONS} install" - ;; - - aptitude) - Chroot "xargs --arg-file=/root/$(basename ${PACKAGESLIST}) aptitude ${APTITUDE_OPTIONS} install" - ;; - esac - - # Removing package list - rm -f chroot/root/"$(basename ${PACKAGESLIST})" + Expand_packagelist \ + "$(basename ${PACKAGES_LIST})" \ + "config/chroot_local-packageslists" \ + "${LH_BASE:-/usr/share/live-helper/lists}/lists" \ + >> chroot/root/chroot_packages done - # Saving cache - Save_cache cache/packages_local-packageslists - # Creating stage file Create_stagefile .stage/chroot_local-packageslists fi -- cgit v1.2.3