gentoo: use /var/run for new /run compatibility
[util-vserver.git] / scripts / vserver-build.yum
index 8fccd40..23fe436 100644 (file)
@@ -27,7 +27,7 @@ while true; do
        (-d)            DISTRIBUTION=$2; shift;;
        (--debug)       set -x;;
        (--)            shift; break ;;
-       (*)             echo "vserver-build.yum-rpm: internal error: unrecognized option '$1'" >&2
+       (*)             echo "vserver-build.yum: internal error: unrecognized option '$1'" >&2
                        exit 1
                        ;;
     esac
@@ -53,13 +53,38 @@ setup_writeOption "$VSERVER_NAME"
 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._addGeneratedFile "`$_READLINK $SETUP_CONFDIR/run`"
+    base.pushCleanup $_VATTRIBUTE --xid "$RPM_FAKE_CTX" --flag '!persistent'
+fi
+
 rpm.initDB           "$SETUP_CONFDIR"
 rpm.importGPGPubKeys "$SETUP_CONFDIR" \
     "$__CONFDIR/.distributions/$DISTRIBUTION/pubkeys" \
     "$__CONFDIR/.distributions/.common/pubkeys" \
     "$__DISTRIBDIR/$DISTRIBUTION/pubkeys"
 yum.installBasePackages "$SETUP_CONFDIR" "$PKGINSTALLDIR"
+
+test -z "$1" || $_VYUM "$SETUP_CONFDIR" -- -y install "$@"
+
 $_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