use '--defaulttty'
[util-vserver.git] / util-vserver / scripts / vserver.functions
index 601af85..80befc0 100644 (file)
@@ -607,6 +607,7 @@ function generateOptions
 
     if test "$_IS_FAKEINIT"; then
        CHCONTEXT_INIT_OPTS=( --disconnect --flag fakeinit )
+       OPTS_VATTRIBUTE=( "${OPTS_VATTRIBUTE[@]}" --flag fakeinit )
        OPTS_VCONTEXT_MIGRATE=( "${OPTS_VCONTEXT_MIGRATE[@]}" --fakeinit --disconnect )
     fi
 }
@@ -719,22 +720,30 @@ will be killed nevertheless..."
 
 function _sourceWrap
 {
-    local vdir name flavor start i
+    local vdir name flavor start i already_handled base
     . "$@"
 }
 
 ## Usage: execScriptlets <vserver-cfgdir> <vserver-name> <script-flavor>
 function execScriptlets
 {
-    local vdir=$1
-    local name=$2
-    local flavor=$3
-    local start=
-    local i
+    declare -r vdir=$1
+    declare -r name=$2
+    declare -r flavor=$3
+    local base i
+
+    for base in "$vdir"/scripts "$CONFDIR"/.defaults/scripts; do
+       local   DONT_SKIP_DEFAULTS=
+       local   already_handled=
+       
+       for i in "$base/$flavor" "$base/$flavor.d"/*; do
+           test -f "$i" -a -r "$i" || continue
+           already_handled=1
+           local start=
+           test -x "$i" || start=_sourceWrap
+           $start "$i" "$flavor" "$name"
+       done
 
-    for i in "$vdir/scripts/$flavor" "$vdir/scripts/$flavor.d"/*; do
-       test -f "$i" -a -r "$i" || continue
-       test -x "$i" || start=_sourceWrap
-       $start "$i" "$flavor" "$name"
+       test -z "$already_handled" -o "$DONT_SKIP_DEFAULTS" || break
     done
 }