summaryrefslogtreecommitdiff
path: root/helpers/lh_chroot_tasks
diff options
context:
space:
mode:
Diffstat (limited to 'helpers/lh_chroot_tasks')
-rwxr-xr-xhelpers/lh_chroot_tasks66
1 files changed, 53 insertions, 13 deletions
diff --git a/helpers/lh_chroot_tasks b/helpers/lh_chroot_tasks
index b2ffb8f..33a8464 100755
--- a/helpers/lh_chroot_tasks
+++ b/helpers/lh_chroot_tasks
@@ -1,6 +1,11 @@
#!/bin/sh
# lh_chroot_tasks(1) - install tasks into chroot
+# Copyright (C) 2006-2007 Daniel Baumann <daniel@debian.org>
+#
+# live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
+# This is free software, and you are welcome to redistribute it
+# under certain conditions; see COPYING for details.
set -e
@@ -10,6 +15,13 @@ do
. ${FUNCTION}
done
+# Set static variables
+DESCRIPTION="install tasks into chroot"
+HELP=""
+USAGE="${PROGRAM} [--force]"
+
+Arguments "${@}"
+
# Reading configuration files
Read_conffile config/common
Read_conffile config/chroot
@@ -27,29 +39,57 @@ Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
-if [ -n "${LIVE_TASKS}" ] && [ "${LH_APT}" = "aptitude" ]
+if [ -n "${LIVE_TASKS}" ]
then
- # Restore old cache
- if [ -d cache/chroot_tasks ]
+ # Restoring cache
+ Restore_cache cache/chroot_tasks
+
+ if [ ! -f chroot/usr/bin/aptitude ]
+ then
+ PACKAGES="${PACKAGES} aptitude"
+ fi
+
+ if [ ! -f chroot/usr/bin/tasksel ]
then
- cp cache/chroot_tasks/*.deb chroot/var/cache/apt/archives
+ PACKAGES="${PACKAGES} tasksel"
fi
- Chroot "aptitude install --assume-yes ${LIVE_TASKS}"
+ if [ -n "${PACKAGES}" ]
+ then
+ # Installing symlinks
+ case "${LH_APT}" in
+ apt|apt-get)
+ Chroot "apt-get install --yes ${PACKAGES}"
+ ;;
- # Saving new cache
- Chroot "apt-get autoclean"
+ aptitude)
+ Chroot "aptitude install --assume-yes ${PACKAGES}"
+ ;;
+ esac
+ fi
- if ls chroot/var/cache/apt/archives/*.deb &> /dev/null
+ for TASK in ${LIVE_TASKS}
+ do
+ Chroot "tasksel --debconf-apt-progress --logstderr install ${TASK}"
+ done
+
+ if [ -n "${PACKAGES}" ]
then
- if [ ! -d cache/chroot_tasks ]
- then
- mkdir -p cache/chroot_tasks
- fi
+ # Removing packages
+ case "${LH_APT}" in
+ apt|apt-get)
+ Chroot "apt-get remove --purge --yes ${PACKAGES}"
+ ;;
- mv -f chroot/var/cache/apt/archives/*.deb cache/chroot_tasks
+ aptitude)
+ Chroot "aptitude purge --assume-yes ${PACKAGES}"
+ ;;
+ esac
fi
+ # Saving cache
+ Save_cache cache/chroot_tasks
+
# Creating stage file
Create_stagefile .stage/chroot_tasks
fi