X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=distrib%2Fdebian%2Finitpost;h=2acb7d04c989d7481ee17037527f6fffb7bd7ab8;hb=ac47a0d1e92b09d626f1ebdc9184dc9e948716b3;hp=a5337c03d2f5b4181b3ba4206a54f497d924f69c;hpb=1cf33b33576848a1da7f3d43792e56f1c702459d;p=util-vserver.git diff --git a/distrib/debian/initpost b/distrib/debian/initpost index a5337c0..2acb7d0 100755 --- a/distrib/debian/initpost +++ b/distrib/debian/initpost @@ -21,6 +21,7 @@ cfgdir="$1" vdir="$cfgdir"/vdir . "$2" +. "$_LIB_VSERVER_BUILD_FUNCTIONS" # vserver name @@ -109,19 +110,7 @@ echo # start vserver before we can exec anything inside it $_VSERVER "$NAME" stop &>/dev/null || : -$_VSERVER "$NAME" start --rescue --rescue-init bash -c ' - exec > /dev/null - exec 2> /dev/null - - set -x - f=/tmp/startwait - trap "rm -f $f" EXIT - mkfifo $f - ( sleep 15; kill -s 9 -- -1 ) & - cat "$f" - kill -s 9 -- -1 - wait -' +startSleepingGuest "$NAME" 30 # run the configure commands from within the server export LANG=C LC_ALL=C @@ -129,17 +118,25 @@ export LANG=C LC_ALL=C $_CHROOT_SH testfile /usr/sbin/locale-gen && \ $_VSERVER "$NAME" exec /usr/sbin/locale-gen -for i in bootlogd checkfs checkroot halt hwclock.sh ifupdown klogd \ - libdevmapper1.02 makedev module-init-tools mountall.sh \ - mountdevsubfs.sh mountnfs.sh mountkernfs.sh mountvirtfs \ - networking reboot setserial single stop-bootlogd \ - stop-bootlogd-single umountfs umountnfs.sh umountroot \ - urandom; do - $_VSERVER "$NAME" exec update-rc.d -f "$i" remove +have_halt= +test "$(cat "$cfgdir"/apps/init/style 2>/dev/null)" != "plain" || \ + have_halt=halt + +pushd etc/init.d &>/dev/null +for i in *; do + case "$i" in + (sysklogd|syslog-ng|README|skeleton|sendsigs|single|rc|rc.local|rcS) + ;; + ($have_halt) + ;; + (*) + $_VSERVER "$NAME" exec update-rc.d -f "$i" remove + ;; + esac done +popd &>/dev/null # stop the vserver -$_VSERVER "$NAME" exec bash -c ': >/tmp/startwait' &>/dev/null || : -$_VSERVER "$NAME" stop &>/dev/null || : +stopSleepingGuest "$NAME" &>/dev/null || : popd &>/dev/null