some enhancements for 'plain' initstyle
authorEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Sat, 3 Jul 2004 00:24:39 +0000 (00:24 +0000)
committerEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Sat, 3 Jul 2004 00:24:39 +0000 (00:24 +0000)
git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@1630 94cd875c-1c1d-0410-91d2-eb244daf1a30

util-vserver/distrib/redhat/initpost

index 9abc931..7293351 100755 (executable)
@@ -24,6 +24,14 @@ function relink
     ln -s "$1" "$2"
 }
 
+## Usage: subst <file> <regexp>
+function subst
+{
+    sed -e "$2" "$1" | $_CHROOT_CAT "$1".tmp
+    cmp -s "$1".tmp "$1" || cat "$1".tmp | $_CHROOT_CAT "$1"
+    rm -f "$1".tmp
+}
+
 pushd "$vdir"/etc/init.d &>/dev/null ||
     pushd "$vdir"/etc/rc.d/init.d &>/dev/null || exit 1
 
@@ -50,5 +58,16 @@ pushd "$vdir"/usr/bin &>/dev/null
 popd >/dev/null
 
 pushd "$vdir"/etc &>/dev/null
+    # TODO: remove race/symlink-attack
     echo 'NETWORKING=yes' >>sysconfig/network
 popd >/dev/null
+
+pushd "$vdir" &>/dev/null
+    : | $_CHROOT_CAT /etc/sysctl.conf
+    echo "none    /       none    defaults" | $_CHROOT_CAT /etc/fstab
+    cat "$DISTRIBDIR"/redhat/rc.sysinit     | $_CHROOT_CAT /etc/rc.d/rc.sysinit.vserver
+    # TODO: remove race/symlink-attack
+    chmod +x 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