[SCM] debian-live/live-helper branch, master, updated. 1.0_a44-1-6-gbd76f99

Daniel Baumann daniel at debian.org
Thu Apr 17 04:51:47 UTC 2008


The following commit has been merged in the master branch:
commit 478331c4e155baaa22d4714bc936b7d05631e42b
Author: Chris Lamb <chris at chris-lamb.co.uk>
Date:   Thu Apr 17 04:13:49 2008 +0100

    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 at chris-lamb.co.uk>

diff --git a/helpers/lh_chroot b/helpers/lh_chroot
index 16946c7..b6e204f 100755
--- a/helpers/lh_chroot
+++ b/helpers/lh_chroot
@@ -48,9 +48,10 @@ lh_chroot_preseed ${*}
 lh_chroot_local-preseed ${*}
 lh_chroot_tasks ${*}
 lh_chroot_packageslists ${*}
-lh_chroot_packages ${*}
 lh_chroot_local-packageslists ${*}
 lh_chroot_local-packages ${*}
+lh_chroot_packages ${*}
+lh_chroot_install-packages ${*}
 lh_chroot_localization ${*}
 lh_chroot_local-includes ${*}
 lh_chroot_sysvinit ${*}
diff --git a/helpers/lh_chroot_packages b/helpers/lh_chroot_install-packages
similarity index 64%
copy from helpers/lh_chroot_packages
copy to helpers/lh_chroot_install-packages
index 1fc69a9..dad074b 100755
--- a/helpers/lh_chroot_packages
+++ b/helpers/lh_chroot_install-packages
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# lh_chroot_packages(1) - install packages into chroot
+# lh_chroot_install-packages(1) - install queued packages into chroot
 # Copyright (C) 2006-2008 Daniel Baumann <daniel at debian.org>
 #
 # live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
@@ -18,7 +18,7 @@ do
 done
 
 # Setting static variables
-DESCRIPTION="install packages into chroot"
+DESCRIPTION="install queued packages into chroot"
 HELP=""
 USAGE="${PROGRAM} [--force]"
 
@@ -34,7 +34,7 @@ Echo_message "Begin installing packages..."
 Require_stagefile .stage/bootstrap
 
 # Checking stage file
-Check_stagefile .stage/chroot_packages
+Check_stagefile .stage/chroot_install-packages
 
 # Checking lock file
 Check_lockfile .lock
@@ -42,17 +42,27 @@ Check_lockfile .lock
 # Creating lock file
 Create_lockfile .lock
 
-if [ -n "${LH_PACKAGES}" ] && [ "${LH_PACKAGES}" != "none" ]
+if [ -e chroot/root/chroot_packages ] && [ -s chroot/root/chroot_packages ]
 then
 	# Restoring cache
 	Restore_cache cache/packages_packages
 
 	# Installing packages
-	Apt install ${LH_PACKAGES}
+	case "${LH_APT}" in
+		apt|apt-get)
+			Chroot "xargs --arg-file=/root/chroot_packages apt-get ${APT_OPTIONS} install"
+			;;
+
+		aptitude)
+			Chroot "xargs --arg-file=/root/chroot_packages aptitude ${APTITUDE_OPTIONS} install"
+			;;
+	esac
+
+	rm -f chroot/root/chroot_packages
 
 	# Saving cache
 	Save_cache cache/packages_packages
 
 	# Creating stage file
-	Create_stagefile .stage/chroot_packages
+	Create_stagefile .stage/chroot_install-packages
 fi
diff --git a/helpers/lh_chroot_linux-image b/helpers/lh_chroot_linux-image
index 3d760f9..56f4da4 100755
--- a/helpers/lh_chroot_linux-image
+++ b/helpers/lh_chroot_linux-image
@@ -33,9 +33,6 @@ Require_stagefile .stage/bootstrap
 
 case "${1}" in
 	install)
-		# Restoring cache
-		Restore_cache cache/packages_linux-image
-
 		Echo_message "Configuring file /etc/kernel-img.conf"
 
 		# Checking stage file
@@ -72,16 +69,13 @@ EOF
 			do
 				for PACKAGE in ${LH_LINUX_PACKAGES}
 				do
-					PACKAGES="${PACKAGES} ${PACKAGE}-${FLAVOUR}"
+					echo ${PACKAGE}-${FLAVOUR} >> chroot/root/chroot_packages
 				done
 			done
 		fi
 
-		# Installing linux-image, modules and ${LH_INITRAMFS}
-		Apt install ${PACKAGES} ${LH_INITRAMFS}
-
-		# Saving cache
-		Save_cache cache/packages_linux-image
+		# Queue installation of linux-image and ${LH_INITRAMFS}
+		echo ${LH_INITRAMFS} >> chroot/root/chroot_packages
 
 		# Creating stage file
 		Create_stagefile .stage/chroot_linux-image
diff --git a/helpers/lh_chroot_local-packages b/helpers/lh_chroot_local-packages
index 15ce988..5b5800f 100755
--- a/helpers/lh_chroot_local-packages
+++ b/helpers/lh_chroot_local-packages
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# lh_chroot_local-packages(1) - install local packages into chroot
+# lh_chroot_local-packages(1) - queue install of local packages into chroot
 # Copyright (C) 2006-2008 Daniel Baumann <daniel at debian.org>
 #
 # 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 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..."
+Echo_message "Begin queueing installation of local packages..."
 
 # Requiring stage file
 Require_stagefile .stage/bootstrap
@@ -44,13 +44,8 @@ Create_lockfile .lock
 
 if ls chroot/root/local-packages/*.deb > /dev/null 2>&1
 then
-	# Restoring cache
-	Restore_cache cache/packages_local-packages
-
-	Apt install $(gunzip < chroot/root/local-packages/Packages.gz | awk '/^Package: / { print $2 }')
-
-	# Saving cache
-	Save_cache cache/packages_local-packages
+	gunzip < chroot/root/local-packages/Packages.gz | awk '/^Package: / { print $2 }' \
+		>> chroot/root/chroot_packages
 
 	# Creating stage file
 	Create_stagefile .stage/chroot_local-packages
diff --git a/helpers/lh_chroot_local-packageslists b/helpers/lh_chroot_local-packageslists
index ac21f09..8a1bef0 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 <daniel at debian.org>
 #
 # 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
diff --git a/helpers/lh_chroot_packages b/helpers/lh_chroot_packages
index 1fc69a9..5ecb484 100755
--- a/helpers/lh_chroot_packages
+++ b/helpers/lh_chroot_packages
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# lh_chroot_packages(1) - install packages into chroot
+# lh_chroot_packages(1) - queue install of packages into chroot
 # Copyright (C) 2006-2008 Daniel Baumann <daniel at debian.org>
 #
 # live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
@@ -18,7 +18,7 @@ do
 done
 
 # Setting static variables
-DESCRIPTION="install packages into chroot"
+DESCRIPTION="queue install of packages 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 packages..."
+Echo_message "Begin queueing installation of packages..."
 
 # Requiring stage file
 Require_stagefile .stage/bootstrap
@@ -44,14 +44,7 @@ Create_lockfile .lock
 
 if [ -n "${LH_PACKAGES}" ] && [ "${LH_PACKAGES}" != "none" ]
 then
-	# Restoring cache
-	Restore_cache cache/packages_packages
-
-	# Installing packages
-	Apt install ${LH_PACKAGES}
-
-	# Saving cache
-	Save_cache cache/packages_packages
+	echo ${LH_PACKAGES} >> chroot/root/chroot_packages
 
 	# Creating stage file
 	Create_stagefile .stage/chroot_packages
diff --git a/helpers/lh_chroot_packageslists b/helpers/lh_chroot_packageslists
index 21b5107..05d742d 100755
--- a/helpers/lh_chroot_packageslists
+++ b/helpers/lh_chroot_packageslists
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# lh_chroot_packageslists(1) - install packages lists into chroot
+# lh_chroot_packageslists(1) - queue install of packages lists into chroot
 # Copyright (C) 2006-2008 Daniel Baumann <daniel at debian.org>
 #
 # live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
@@ -18,7 +18,7 @@ do
 done
 
 # Setting static variables
-DESCRIPTION="install packages lists into chroot"
+DESCRIPTION="queue install of 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 packages lists..."
+Echo_message "Begin queueing installation of packages lists..."
 
 # Requiring stage file
 Require_stagefile .stage/bootstrap
@@ -44,35 +44,22 @@ Create_lockfile .lock
 
 if [ -n "${LH_PACKAGES_LISTS}" ] && [ "${LH_PACKAGES_LISTS}" != "none" ]
 then
-	# Restoring cache
-	Restore_cache cache/packages_packageslists
 
 	for LIST in ${LH_PACKAGES_LISTS}
 	do
 		if [ -f ${LH_BASE:-/usr/share/live-helper}/lists/"${LIST}" ]
 		then
 			# Generating package list
-			Expand_packagelist "${LIST}" "config/chroot_local-packageslists" "${LH_BASE:-/usr/share/live-helper}/lists" > chroot/root/${LIST}
-
-			# Installing package list
-			case "${LH_APT}" in
-				apt|apt-get)
-					Chroot "xargs --arg-file=/root/${LIST} apt-get ${APT_OPTIONS} install"
-					;;
-
-				aptitude)
-					Chroot "xargs --arg-file=/root/${LIST} aptitude ${APTITUDE_OPTIONS} install"
-					;;
-			esac
-
-			# Removing package list
-			rm -f chroot/root/"${LIST}"
+			Expand_packagelist \
+				"${LIST}" \
+				"config/chroot_local-packageslists" \
+				"${LH_BASE:-/usr/share/live-helper}/lists" \
+					>> chroot/root/chroot_packages
+		else
+			Echo_warning "skipping installation of unknown packages list '${LIST}'."
 		fi
 	done
 
-	# Saving cache
-	Save_cache cache/packages_packageslists
-
 	# Creating stage file
 	Create_stagefile .stage/chroot_packageslists
 fi

-- 
debian-live/live-helper



More information about the debian-live-changes mailing list