X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fvserver-build.functions;h=55ee0438185be95c9272f44d907b2b60c551369f;hb=e4615ec7e88fbf35ad843fb52189e0486053b66e;hp=7e26efdb4262e05c04001358e9645dcfefb6ca57;hpb=3c85c5195a01df54c16127f0c7e7f27a83acd4c3;p=util-vserver.git diff --git a/scripts/vserver-build.functions b/scripts/vserver-build.functions index 7e26efd..55ee043 100644 --- a/scripts/vserver-build.functions +++ b/scripts/vserver-build.functions @@ -45,7 +45,6 @@ function makeDevEntry chmod $4 "$dst" ;; (l) ln -s "$4" "$dst" - test -z "$5" || chmod "$5" "$dst" ;; (*) echo "Unknown dev-entry mode '$3'" >&2 false @@ -223,9 +222,11 @@ WARNING: could not set the barrier attribute on '$VDIR/..', findAndCopy "$VDIR"/etc/hosts "$__CONFDIR"/.defaults/files/hosts "$__CONFDIR/.distributions/$DISTRIBUTION"/files/hosts \ "$__DISTRIBDIR/$DISTRIBUTION"/files/hosts "$__DISTRIBDIR"/defaults/files/hosts "" - for i in nsswitch.conf krb5.conf krb.conf krb.realms ldap.conf localtime resolv.conf; do + for i in nsswitch.conf krb5.conf krb.conf krb.realms ldap.conf localtime; do findAndCopy "$VDIR"/etc/$i "$__CONFDIR/.defaults/files/$i" "$__CONFDIR/.distributions/$DISTRIBUTION/files/$i" "" done + findAndCopy "$VDIR"/etc/resolv.conf "$__CONFDIR/.defaults/files/resolv.conf" \ + "$__CONFDIR/.distributions/$DISTRIBUTION/files/resolv.conf" /etc/resolv.conf "" } function base._initVariables @@ -241,11 +242,25 @@ function base._initVariables findFile BUILD_INITPOST "$__CONFDIR/.distributions/$DISTRIBUTION/initpost" "$__DISTRIBDIR/$DISTRIBUTION/initpost" "" } +declare -a __BASE_CLEANUP +function base.pushCleanup +{ + __BASE_CLEANUP=( "${__BASE_CLEANUP[@]}" "$*" ) +} + +function base.popCleanup +{ + unset __BASE_CLEANUP[$((${#__BASE_CLEANUP[@]} - 1))] +} + function base.__cleanup { - test -z "$OPTION_KEEP" || return 0 - test -z "$__BASE_SUCCESS" || return 0 + for cmd in "${__BASE_CLEANUP[@]}"; do + $cmd + done + test -z "$__BASE_SUCCESS" || return 0 + test -z "$OPTION_KEEP" || return 0 rm -rf "${__BASE_GENERATED_FILES[@]}" } @@ -272,11 +287,7 @@ function startSleepingGuest exec > /dev/null exec 2> /dev/null trap 'kill -s 9 -- -1; exit 0' INT - i=0 - while [ \$i -lt $timeout ]; do - sleep 1 - let ++i - done + sleep $timeout kill -s 15 -- -1 sleep 1 kill -s 9 -- -1"