diff options
Diffstat (limited to 'helpers/lh_chroot_sysvinit')
-rwxr-xr-x | helpers/lh_chroot_sysvinit | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/helpers/lh_chroot_sysvinit b/helpers/lh_chroot_sysvinit new file mode 100755 index 000000000..e4746d6ee --- /dev/null +++ b/helpers/lh_chroot_sysvinit @@ -0,0 +1,50 @@ +#!/bin/sh + +# lh_chroot_sysvinit(1) - configures sysvinit + +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 lock file +Check_lockfile "${LIVE_ROOT}"/.lock + +# Creating lock file +Create_lockfile "${LIVE_ROOT}"/.lock + +# Checking stage file +Check_stagefile "${LIVE_ROOT}"/.stage/chroot_sysvinit + +if [ "${LIVE_SYSVINIT}" = "disabled" ] +then + # Disable all + for FILE in "${LIVE_CHROOT}"/etc/init.d/* + do + Chroot "update-rc.d -f `basename ${FILE}` remove" + done + + # Re-enable all required (taken from -f standard chroot) + for PACKAGE in casper console-common cron dpkg ifupdown initscripts kbd klogd libc6 libdevmapper1.02 libselinux1 libsepol1 login makedev module-init-tools netbase openbsd-inetd procps sudo sysklogd udev util-linux + do + if [ -f "${LIVE_CHROOT}"/var/lib/dpkg/info/${PACKAGE}.postinst ] + then + # Re-configure if existing + Chroot "/var/lib/dpkg/info/${PACKAGE}.postinst configure" + fi + done + + # Creating stage file + Create_stagefile "${LIVE_ROOT}"/.stage/chroot_sysvinit +fi |