added preliminary support for the patch from
authorEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Fri, 25 Feb 2005 20:55:10 +0000 (20:55 +0000)
committerEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Fri, 25 Feb 2005 20:55:10 +0000 (20:55 +0000)
https://bugzilla.redhat.com/beta/attachment.cgi?id=111435&action=view

git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@1866 94cd875c-1c1d-0410-91d2-eb244daf1a30

util-vserver/scripts/vserver-build.functions.yum
util-vserver/scripts/vyum-worker

index 56b6db6..c0b03ea 100644 (file)
@@ -48,18 +48,11 @@ function yum.initVariables
        ''
 }
 
-function yum.initFilesystem
+function yum.__substituteConf
 {
-    mkdir -p "$PKGCFGDIR"/yum/{etc,cache}
-    
-    populateDirectory "$PKGCFGDIR/yum/etc" \
-       "$DISTRIBDIR/defaults/yum" \
-       "$DISTRIBDIR/$DISTRIBUTION/yum" \
-       "$CONFDIR/.distributions/$DISTRIBUTION/yum"
+    local f=$1
+    local prefix=$2
 
-    ## workaround for yum's automatism to search the configuration in the chroot
-    local prefix='/../../../../../../../../../../../../'
-    local f="$PKGCFGDIR"/yum/etc/yum.conf
     if test -e "$f"; then
        $_SED -e "s!@YUMETCDIR@!$prefix$PKGCFGDIR/yum/etc!g;
                  s!@YUMCACHEDIR@!$prefix$PKGCFGDIR/yum/cache!g;
@@ -68,6 +61,25 @@ function yum.initFilesystem
        $_CMP -s "$f" "$f.tmp" || $_CAT "$f.tmp" >"$f"
        $_RM -f "$f.tmp"
     fi
+}
+
+function yum.initFilesystem
+{
+    mkdir -p "$PKGCFGDIR"/yum/{etc,cache}
+    
+    populateDirectory "$PKGCFGDIR/yum/etc" \
+       "$DISTRIBDIR/defaults/yum" \
+       "$DISTRIBDIR/$DISTRIBUTION/yum" \
+       "$CONFDIR/.distributions/$DISTRIBUTION/yum"
+
+    ## workaround for yum's automatism to search the configuration in the chroot
+    
+    local f0="$PKGCFGDIR"/yum/etc/yum.conf
+    local f1="$PKGCFGDIR"/yum/etc/yum-hack.conf
+    cp -a "$f0" "$f1"
+
+    yum.__substituteConf "$f0" 'hostfs://'
+    yum.__substituteConf "$f1" '/../../../../../../../../../../../../'
 
     test -z "$YUMREPOSDEFAULT" -o -e "$PKGCFGDIR/yum/etc/yum.repos.d" || \
        $_LN_S "$YUMREPOSDEFAULT"   "$PKGCFGDIR/yum/etc/yum.repos.d"
index 4801886..e2ff360 100755 (executable)
@@ -32,7 +32,13 @@ shift
 pkgInit "$vserver" rpm yum
 rpmFake.init "$vserver"
 
-rpmFake.exec ${_YUM:-yum} \
-    -c "$YUMETCDIR/yum.conf" \
+yum=${YUM:-yum}
+case $(yum --version) in
+    (2.[0123]*)                conf=yum-hack.conf;;
+    (*)                        conf=yum.conf;;
+esac
+
+rpmFake.exec $yum \
+    -c "$YUMETCDIR/${YUM_CONF:-$conf}" \
     --installroot="$VDIR" \
     "$@"