diff options
Diffstat (limited to 'helpers/lh_chroot_tasks')
-rwxr-xr-x | helpers/lh_chroot_tasks | 66 |
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 |