[SCM] live-debconfig branch, debian-next, updated. debian/3.0_a1-1-7-gd5c6ae5

Daniel Baumann daniel at debian.org
Sat Jul 21 15:57:31 UTC 2012


The following commit has been merged in the debian-next branch:
commit d5c6ae56ae388fb7d2882a0e3693bc057f4d8035
Author: Daniel Baumann <daniel at debian.org>
Date:   Sat Jul 21 17:41:27 2012 +0200

    Making sysvinit script more robust.

diff --git a/scripts/debconfig/0030-sysvinit b/scripts/debconfig/0030-sysvinit
index eeda749..47a5e21 100755
--- a/scripts/debconfig/0030-sysvinit
+++ b/scripts/debconfig/0030-sysvinit
@@ -16,10 +16,17 @@ Defaults ()
 {
 	_LXC_ENABLE="${_LXC_ENABLE:-false}"
 	_LXC_CONSOLES="${_LXC_CONSOLES:-6}"
+	_LXC_DISABLE_SERVICES="${_LXC_DISABLE_SERVICES:-checkroot.sh hwclockfirst.sh hwclock.sh module-init-tools umountfs umountroot}"
 }
 
-#db_get live-debconfig/sysvinit/lxc-enable
-#_LXC_ENABLE="${RET}" # boolean
+db_get live-debconfig/sysvinit/lxc-enable
+_LXC_ENABLE="${RET}" # boolean
+
+db_get live-debconfig/sysvinit/lxc-consoles
+_LXC_CONSOLES="${RET}" # string (w/o empty)
+
+db_get live-debconfig/sysvinit/lxc-disable-services
+_LXC_DISABLE_SERVICES="${RET}" # string (w/o empty)
 
 Defaults
 
@@ -29,6 +36,9 @@ db_fset live-debconfig/sysvinit/lxc-enable seen false
 db_set live-debconfig/sysvinit/lxc-consoles "${_LXC_CONSOLES}"
 db_fset live-debconfig/sysvinit/lxc-consoles seen false
 
+db_set live-debconfig/sysvinit/lxc-disable-services "${_LXC_DISABLE_SERVICES}"
+db_fset live-debconfig/sysvinit/lxc-disable-services seen false
+
 db_settitle live-debconfig/title
 db_input high live-debconfig/sysvinit/lxc-enable || true
 db_go
@@ -42,9 +52,16 @@ case "${_LXC_ENABLE}" in
 		db_input high live-debconfig/sysvinit/lxc-consoles || true
 		db_go
 
+		db_settitle live-debconfig/title
+		db_input high live-debconfig/sysvinit/lxc-disable-services || true
+		db_go
+
 		db_get live-debconfig/sysvinit/lxc-consoles
 		_LXC_CONSOLES="${RET}" # string (w/o empty)
 
+		db_get live-debconfig/sysvinit/lxc-disable-services
+		_LXC_DISABLE_SERVICES="${RET}" # string (w/o empty)
+
 		Defaults
 		;;
 
@@ -57,21 +74,22 @@ db_stop
 
 case "${_LXC_ENABLE}" in
 	true)
-		# Updating file /etc/inittab..."
+		# Revert /etc/inittab
+		cp -p /usr/share/sysvinit/inittab /etc/inittab.tmp
 
 		# Disable sulogin
 		#   ~~:S:wait:/sbin/sulogin
-		sed -i -e 's|\(^[^#].*S:wait:.*$\)|#\1|' /etc/inittab
+		sed -i -e 's|\(^[^#].*S:wait:.*$\)|#\1|' /etc/inittab.tmp
 
 		# Disable ctrlaltdel
 		#   ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
-		sed -i -e 's|\(^[^#].*:ctrlaltdel:.*$\)|#\1|' /etc/inittab
+		sed -i -e 's|\(^[^#].*:ctrlaltdel:.*$\)|#\1|' /etc/inittab.tmp
 
 		# Disable power
 		#   pf::powerwait:/etc/init.d/powerfail start
 		#   pn::powerfailnow:/etc/init.d/powerfail now
 		#   po::powerokwait:/etc/init.d/powerfail stop
-		sed -i -e 's|\(^[^#].*:power.*:.*$\)|#\1|' /etc/inittab
+		sed -i -e 's|\(^[^#].*:power.*:.*$\)|#\1|' /etc/inittab.tmp
 
 		# Disable normal getty
 		#  1:2345:respawn:/sbin/getty 38400 tty1
@@ -83,7 +101,7 @@ case "${_LXC_ENABLE}" in
 		#  c1:23:respawn:/sbin/getty 38400 tty1
 		#  c2:23:respawn:/sbin/getty 38400 tty2
 		#  ...
-		sed -i -e 's|\(^[^#,^c].*:respawn:/sbin/getty.*[^console,linux]$\)|#\1|' /etc/inittab
+		sed -i -e 's|\(^[^#,^c].*:respawn:/sbin/getty.*[^console,linux]$\)|#\1|' /etc/inittab.tmp
 
 		# Enable container getty
 		#  1:2345:respawn:/sbin/getty 38400 console
@@ -101,8 +119,7 @@ case "${_LXC_ENABLE}" in
 		_CONSOLES="${_CONSOLES}\n#-- live-debconfig end"
 
 		# Remove old entries
-		sed -e '/#-- live-debconfig begin/,/#-- live-debconfig end/d' /etc/inittab > /etc/inittab.tmp
-		mv -f /etc/inittab.tmp /etc/inittab
+		sed -e '/#-- live-debconfig begin/,/#-- live-debconfig end/d' /etc/inittab.tmp > /etc/inittab
 
 		# Add new entries
 		_CONSOLE="$(grep '#[0-9].*:respawn:/sbin/getty' /etc/inittab | tail -1)"
@@ -121,12 +138,13 @@ case "${_LXC_ENABLE}" in
 		done
 
 		# Remove pointless services in a container
-		for _SERVICE in checkroot.sh hwclockfirst.sh hwclock.sh module-init-tools umountfs umountroot
+		for _SERVICE in ${_LXC_DISABLE_SERVICES}
 		do
 			if [ -e "/etc/init.d/${_SERVICE}" ]
 			then
-				update-rc.d -f ${_SERVICE} disable | \
-				grep -v "update-rc.d: using dependency based boot sequencing" || true
+				update-rc.d -f ${_SERVICE} disable 2>&1 | \
+				grep -v "update-rc.d: using dependency based boot sequencing" | \
+				grep -v "update-rc.d: error: cannot find a LSB script for mountroot" || true
 			fi
 		done
 		;;
@@ -136,12 +154,13 @@ case "${_LXC_ENABLE}" in
 		cp -p /usr/share/sysvinit/inittab /etc/inittab
 
 		# Renable services
-		for _SERVICE in checkroot.sh hwclockfirst.sh hwclock.sh module-init-tools umountfs umountroot
+		for _SERVICE in ${_LXC_DISABLE_SERVICES}
 		do
 			if [ -e "/etc/init.d/${_SERVICE}" ]
 			then
 				update-rc.d -f ${_SERVICE} defaults | \
-				grep -v "update-rc.d: using dependency based boot sequencing" || true
+				grep -v "update-rc.d: using dependency based boot sequencing" | \
+				grep -v "update-rc.d: error: cannot find a LSB script for mountroot" || true
 			fi
 		done
 		;;
diff --git a/scripts/debconfig/0030-sysvinit.templates b/scripts/debconfig/0030-sysvinit.templates
index 3f42141..5b89d23 100644
--- a/scripts/debconfig/0030-sysvinit.templates
+++ b/scripts/debconfig/0030-sysvinit.templates
@@ -17,3 +17,11 @@ Description: live-debconfig: How many consoles for LXC?
  How many concurrent consoles should the current container provide?
  .
  This defaults to 6 and will result in six getty processes per container.
+
+Template: live-debconfig/sysvinit/lxc-disable-services
+Type: string
+Default: checkroot.sh hwclockfirst.sh hwclock.sh module-init-tools umountfs umountroot
+Description: live-debconfig: Which services to disable for LXC?
+ Some services are not useful in containers and should be disabled.
+ .
+ This defaults to checkroot.sh hwclockfirst.sh hwclock.sh module-init-tools umountfs umountroot.

-- 
live-debconfig



More information about the debian-live-changes mailing list