Move init functions to common file, fixing gentoo
authorDaniel Hokka Zakrisson <daniel@hozac.com>
Fri, 28 Oct 2011 21:36:21 +0000 (23:36 +0200)
committerDaniel Hokka Zakrisson <daniel@hozac.com>
Fri, 28 Oct 2011 21:36:21 +0000 (23:36 +0200)
gentoo/bash-wrapper
gentoo/util-vserver
scripts/vserver-init.functions
sysv/util-vserver

index 80481be..56dda76 100755 (executable)
@@ -22,6 +22,7 @@ test -e "$UTIL_VSERVER_VARS" || {
     exit 1
 }
 . "$UTIL_VSERVER_VARS"
+. "$_LIB_VSERVER_INIT_FUNCTIONS"
 . "$_LIB_FUNCTIONS"
 . "$__PKGLIBDIR/vserver.functions"
 
index 80548d9..38a502d 100644 (file)
@@ -2,37 +2,6 @@
 # Copyright 1999-2007 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
-set_helper() {
-       local f="/proc/sys/kernel/vshelper"
-       if [ -e "$f" ]; then
-               echo "$_VSHELPER" > "$f"
-       fi
-       return 0
-}
-
-kill_contexts()
-{
-       local xid
-       for xid in `ls -1 /proc/virtual 2>/dev/null`; do
-               [ "$xid" = "info" -o "$xid" = "status" ] && continue
-               $_VATTRIBUTE --xid $xid --set --flag ~persistent
-               $_VKILL --xid $xid -s 15
-               sleep 3
-               $_VKILL --xid $xid -s 9
-       done
-       local alive=0
-       for xid in `ls -1 /proc/virtual 2>/dev/null`; do
-               [ "$xid" = "info" -o "$xid" = "status" ] && continue
-               let alive+=1
-       done
-       test $alive = 0
-}
-
-create_dirs()
-{
-       $_MKDIR -p "$__RUNDIR" && $_MKDIR -p "$__VSHELPERSTATEDIR" && $_MKDIR -p `$_READLINK "$__PKGSTATEREVDIR"`
-}
-
 start() {
        : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
        if [ ! -e ${UTIL_VSERVER_VARS} ]; then
@@ -44,11 +13,11 @@ start() {
        . ${UTIL_VSERVER_VARS}
 
        ebegin "Creating directories for $PACKAGE_NAME"
-       create_dirs
+    $__PKGLIBDIR/bash-wrapper 'create_dirs'
        eend $?
 
        ebegin "Setting vshelper path to $_VSHELPER"
-       set_helper
+    $__PKGLIBDIR/bash-wrapper 'create_dirs'
        eend $?
 
        ebegin "Loading default device map"
@@ -58,7 +27,7 @@ start() {
        $__PKGLIBDIR/bash-wrapper 'hasCgroup'
        if [ $? -eq 0 ]; then
                ebegin "Mounting cgroup-hierarchy"
-               $__PKGLIBDIR/bash-wrapper '_generateCgroupOptions; test -n "$CGROUP_MNT" || exit 0; $_MKDIR -p "$CGROUP_MNT"; $_MOUNT -t cgroup -o "$CGROUP_SUBSYS" vserver "$CGROUP_MNT"'
+               $__PKGLIBDIR/bash-wrapper 'mount_cgroup'
                eend $?
        fi
 }
@@ -78,13 +47,13 @@ stop() {
        eend $?
 
        ebegin "Killing all running contexts"
-       kill_contexts
+       $__PKGLIBDIR/bash-wrapper 'kill_contexts'
        eend $?
 
        $__PKGLIBDIR/bash-wrapper 'hasCgroup'
        if [ $? -eq 0 ]; then
                ebegin "Unmounting cgroup-hierarchy"
-               $__PKGLIBDIR/bash-wrapper '_generateCgroupOptions; test -n "$CGROUP_MNT" || exit 0; $_UMOUNT "$CGROUP_MNT"'
+               $__PKGLIBDIR/bash-wrapper 'umount_cgroup'
                eend $?
        fi
 }
index 69dd368..32c65d9 100755 (executable)
@@ -48,3 +48,69 @@ function _endResult()
     _postResult
     return $rc
 }
+
+function set_helper()
+{
+    local f="/proc/sys/kernel/vshelper"
+    if test -e "$f"; then
+       echo "$_VSHELPER" > "$f"
+       return 0
+    else
+       return 2
+    fi
+}
+
+function kill_contexts()
+{
+    local xid
+    for xid in `ls -1 /proc/virtual 2>/dev/null`; do
+       [ "$xid" = "info" -o "$xid" = "status" ] && continue
+       $_VATTRIBUTE --xid $xid --set --flag ~persistent
+       $_VKILL --xid $xid -s 15
+       sleep 3
+       $_VKILL --xid $xid -s 9
+    done
+    local alive=0
+    for xid in `ls -1 /proc/virtual 2>/dev/null`; do
+       [ "$xid" = "info" -o "$xid" = "status" ] && continue
+       let alive+=1
+    done
+    test $alive = 0
+}
+
+function create_dirs()
+{
+    $_MKDIR -p "$__RUNDIR" && $_MKDIR -p "$__VSHELPERSTATEDIR" && $_MKDIR -p `$_READLINK "$__PKGSTATEREVDIR"`
+}
+
+function mount_cgroup()
+{
+    _generateCgroupOptions
+    test -n "$CGROUP_MNT" || return 0
+    $_MKDIR -p "$CGROUP_MNT"
+    if test -n "$CGROUP_MNT_PER_SS"; then
+       for ss in "${CGROUP_SUBSYS[@]}"; do
+           $_MKDIR -p "$CGROUP_MNT/$ss"
+           $_MOUNT -t cgroup -o "$ss" vserver "$CGROUP_MNT/$ss"
+       done
+    else
+       oIFS="$IFS"
+       IFS=,
+       ss="${CGROUP_SUBSYS[*]}"
+       IFS="$oIFS"
+       $_MOUNT -t cgroup -o "$ss" vserver "$CGROUP_MNT"
+    fi
+}
+
+function umount_cgroup()
+{
+    _generateCgroupOptions
+    test -n "$CGROUP_MNT" || return 0
+    if test -n "$CGROUP_MNT_PER_SS"; then
+       for ss in "${CGROUP_SUBSYS[@]}"; do
+           $_UMOUNT "$CGROUP_MNT/$ss"
+       done
+    else
+       $_UMOUNT "$CGROUP_MNT"
+    fi
+}
index 8cc173f..d791aa5 100755 (executable)
@@ -27,73 +27,6 @@ LOCKFILE=util-vserver
 . "$_LIB_FUNCTIONS"
 . "$__PKGLIBDIR/vserver.functions"
 
-
-function set_helper()
-{
-    local f="/proc/sys/kernel/vshelper"
-    if test -e "$f"; then
-       echo "$_VSHELPER" > "$f"
-       return 0
-    else
-       return 2
-    fi
-}
-
-function kill_contexts()
-{
-    local xid
-    for xid in `ls -1 /proc/virtual 2>/dev/null`; do
-       [ "$xid" = "info" -o "$xid" = "status" ] && continue
-       $_VATTRIBUTE --xid $xid --set --flag ~persistent
-       $_VKILL --xid $xid -s 15
-       sleep 3
-       $_VKILL --xid $xid -s 9
-    done
-    local alive=0
-    for xid in `ls -1 /proc/virtual 2>/dev/null`; do
-       [ "$xid" = "info" -o "$xid" = "status" ] && continue
-       let alive+=1
-    done
-    test $alive = 0
-}
-
-function create_dirs()
-{
-    $_MKDIR -p "$__RUNDIR" && $_MKDIR -p "$__VSHELPERSTATEDIR" && $_MKDIR -p `$_READLINK "$__PKGSTATEREVDIR"`
-}
-
-function mount_cgroup()
-{
-    _generateCgroupOptions
-    test -n "$CGROUP_MNT" || return 0
-    $_MKDIR -p "$CGROUP_MNT"
-    if test -n "$CGROUP_MNT_PER_SS"; then
-       for ss in "${CGROUP_SUBSYS[@]}"; do
-           $_MKDIR -p "$CGROUP_MNT/$ss"
-           $_MOUNT -t cgroup -o "$ss" vserver "$CGROUP_MNT/$ss"
-       done
-    else
-       oIFS="$IFS"
-       IFS=,
-       ss="${CGROUP_SUBSYS[*]}"
-       IFS="$oIFS"
-       $_MOUNT -t cgroup -o "$ss" vserver "$CGROUP_MNT"
-    fi
-}
-
-function umount_cgroup()
-{
-    _generateCgroupOptions
-    test -n "$CGROUP_MNT" || return 0
-    if test -n "$CGROUP_MNT_PER_SS"; then
-       for ss in "${CGROUP_SUBSYS[@]}"; do
-           $_UMOUNT "$CGROUP_MNT/$ss"
-       done
-    else
-       $_UMOUNT "$CGROUP_MNT"
-    fi
-}
-
 function start()
 {
     _beginResult $"Creating required directories"