X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fscripts%2Fvserver.functions;h=80befc07ab6803079c7b07bf1c729ee4ba82c140;hb=df83ede51ed1e8552bfd6d7b6bc37eb059ce7c37;hp=601af85177778a5afe9e1d81f0cdb5799bd93946;hpb=9d5fc28089836665d4dfb75bb7625b4aa19dbc24;p=util-vserver.git diff --git a/util-vserver/scripts/vserver.functions b/util-vserver/scripts/vserver.functions index 601af85..80befc0 100644 --- a/util-vserver/scripts/vserver.functions +++ b/util-vserver/scripts/vserver.functions @@ -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 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 }