diff options
Diffstat (limited to 'helpers/lh_chroot_hooks')
-rwxr-xr-x | helpers/lh_chroot_hooks | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/helpers/lh_chroot_hooks b/helpers/lh_chroot_hooks new file mode 100755 index 0000000..727eed9 --- /dev/null +++ b/helpers/lh_chroot_hooks @@ -0,0 +1,50 @@ +#!/bin/sh + +# lh_chroot_hooks(1) - execute hooks in chroot + +set -e + +# Source common functions +for FUNCTION in /usr/share/live-helper/functions/*.sh +do + . ${FUNCTION} +done + +# Reading configuration files +Read_conffile config/common +Read_conffile config/chroot +Set_defaults + +# Requiring stage file +Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap + +# Checking stage file +Check_stagefile "${LIVE_ROOT}"/.stage/chroot_hooks + +# Checking lock file +Check_lockfile "${LIVE_ROOT}"/.lock + +# Creating lock file +Create_lockfile "${LIVE_ROOT}"/.lock + +# Processing hooks +if [ -n "${LIVE_PACKAGES_LIST}" ] && [ -f /usr/share/live-helper/hooks/"${LIVE_PACKAGES_LIST}" ] +then + # Copying hook + cp /usr/share/live-helper/hooks/"${LIVE_PACKAGES_LIST}" "${LIVE_CHROOT}"/root + + # Making hook executable + if [ -x "${LIVE_CHROOT}"/root/${LIVE_PACKAGES_LIST} ] + then + chmod +x "${LIVE_CHROOT}"/root/${LIVE_PACKAGES_LIST} + fi + + # Executing hook + Chroot "/root/${LIVE_PACKAGES_LIST}" + + # Removing hook + rm -f "${LIVE_CHROOT}"/root/"${LIVE_PACKAGE_LIST}" + + # Creating stage file + Create_stagefile "${LIVE_ROOT}"/.stage/chroot_hooks +fi |