X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=distrib%2Fredhat%2Finitpost;h=5337fe080aaedeba5790c6b44e99de23a5d7e4d3;hb=d5f7c198538a4dd56ed4c2837f7514dc4f474ff0;hp=81ca09fc0172fb70aab2ea98d43d3ee78b1a035e;hpb=175a363efcb2c8f0a32f8c6ccc69093a66633027;p=util-vserver.git diff --git a/distrib/redhat/initpost b/distrib/redhat/initpost index 81ca09f..5337fe0 100755 --- a/distrib/redhat/initpost +++ b/distrib/redhat/initpost @@ -19,6 +19,7 @@ vdir=$1/vdir . "$2" +. "$_LIB_VSERVER_BUILD_FUNCTIONS" function relink { @@ -44,19 +45,7 @@ vserver=$1 ## Do some magic to set the vserver into a defined state $_VSERVER "$vserver" stop &>/dev/null || : -$_VSERVER "$vserver" 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" >/dev/null - kill -s 9 -- -1 - wait -' +startSleepingGuest "$vserver" 15 pushd "$vdir"/etc/init.d &>/dev/null || pushd "$vdir"/etc/rc.d/init.d &>/dev/null || exit 1 @@ -65,7 +54,7 @@ pushd "$vdir"/etc/init.d &>/dev/null || test -e "$i" || continue case "$i" in functions|halt|killall|single) ;; - syslog) ;; + syslog|rsyslog) ;; *) $_VSERVER "$1" chkconfig "$i" off ;; @@ -92,17 +81,14 @@ pushd "$vdir" &>/dev/null exec /sbin/killall5 -15 EOF - # TODO: remove race/symlink-attack - chmod +x etc/init.d/halt + $_CHROOT_SH chmod 0755 /etc/init.d/halt : | $_CHROOT_SH truncate /etc/sysctl.conf echo "none / none defaults" | $_CHROOT_SH truncate /etc/fstab cat "$__DISTRIBDIR"/redhat/rc.sysinit | $_CHROOT_SH truncate /etc/rc.d/rc.sysinit.vserver - # TODO: remove race/symlink-attack - chmod +x etc/rc.d/rc.sysinit.vserver + $_CHROOT_SH chmod 0755 /etc/rc.d/rc.sysinit.vserver subst etc/inittab 's!^\([^#].*:respawn:.* tty\)!#\1!; s!si::sysinit:/etc/rc.d/rc.sysinit!si::sysinit:/etc/rc.d/rc.sysinit.vserver!' popd >/dev/null -$_VSERVER "$vserver" exec bash -c ': >/tmp/startwait' &>/dev/null || : -$_VSERVER "$vserver" stop &>/dev/null || : +stopSleepingGuest "$vserver" &> /dev/null || :