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[@]}"
}
setup_writeInitialFstab
test -z "$BUILD_INITPRE" || "$BUILD_INITPRE" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"
+
+if $_VSERVER_INFO - FEATURE persistent; then
+ $_VSPACE --new --mount --fs -- \
+ $_VCONTEXT --create ${SETUP_CONTEXT:+--xid "$SETUP_CONTEXT"} --silent -- \
+ $_VUNAME --set --xid self -t context="rpm-fake $SETUP_CONFDIR" -- \
+ $_VSPACE --set --mount --fs -- \
+ $_SAVE_CTXINFO "$SETUP_CONFDIR" \
+ $_VATTRIBUTE --set --xid self --secure --flag persistent -- \
+ $_VCONTEXT --xid self --migrate-self --endsetup -- \
+ /bin/true
+ RPM_FAKE_CTX=`cat $SETUP_CONFDIR/run`
+ export RPM_FAKE_CTX
+ base.pushCleanup $_VATTRIBUTE --xid "$RPM_FAKE_CTX" --flag '!persistent'
+fi
+
rpm.initDB "$SETUP_CONFDIR"
rpm.importGPGPubKeys "$SETUP_CONFDIR" \
"$__CONFDIR/.distributions/$DISTRIBUTION/pubkeys" \
"$__DISTRIBDIR/$DISTRIBUTION/pubkeys"
yum.installBasePackages "$SETUP_CONFDIR" "$PKGINSTALLDIR"
$_VYUM "$SETUP_CONFDIR" -- clean all
+
+if $_VSERVER_INFO - FEATURE persistent; then
+ base.popCleanup
+ $_VATTRIBUTE --xid "$RPM_FAKE_CTX" --flag '!persistent'
+fi
+
test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"
base.setSuccess