summaryrefslogtreecommitdiff
path: root/helpers/lh_chroot_sysvinit
diff options
context:
space:
mode:
Diffstat (limited to 'helpers/lh_chroot_sysvinit')
-rwxr-xr-xhelpers/lh_chroot_sysvinit50
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