bin/mocksetup: /var/cache/mock: -u: Fix.
[nethome.git] / bin / mocksetup
index da4800c..b24afbc 100755 (executable)
@@ -82,7 +82,8 @@ for r in $l;do
     echo $c; $c
   fi
 
-  cp -p /etc/resolv.conf $rpath/etc/resolv.conf
+  cmp -s   /etc/resolv.conf $rpath/etc/resolv.conf \
+  || cp -p /etc/resolv.conf $rpath/etc/resolv.conf
 
   dir="/dev/pts"
   c="umount $rpath$dir"
@@ -96,11 +97,11 @@ for r in $l;do
     echo $c
   fi
 
-  test -e $rpath/dev/pts && rmdir $rpath/dev/pts
+  test -e $rpath/dev/pts && (rmdir $rpath/dev/pts || :)
   if ! $u;then
     mkdir -p $rpath/dev/pts
   fi
-  test -e $rpath/dev/shm && rmdir $rpath/dev/shm
+  test -e $rpath/dev/shm && (rmdir $rpath/dev/shm || :)
   if ! $u;then
     mkdir -p $rpath/dev/shm
   fi
@@ -153,10 +154,29 @@ for r in $l;do
     ln -s /proc/self/fd $rpath/dev/fd
   fi
 
-  mkdir -p $rpath/unsafe
-  for dir in /home /usr/local/bin /proc /sys /root /unsafe;do
+  # Must be before umount of /quad
+  for cache in yum dnf;do
+    c="umount $rpath/var/cache/$cache"
+    if $c 2>&1|grep -v ': not \(mounted\|found\)$';then
+      echo $c
+    fi
+    if ! $u;then
+      if [ -d /var/cache/mock/$r/${cache}_cache ];then
+       cr=$r
+      else
+       cr=`echo $r|sed 's/-[^-]*$//'`
+      fi
+      if [ -d /var/cache/mock/$cr/${cache}_cache ];then
+       c="mount --bind /var/cache/mock/$cr/${cache}_cache $rpath/var/cache/${cache}"
+       echo $c; $c
+      fi
+    fi
+  done
+
+  mkdir -p $rpath/quad
+  for dir in /home /usr/local/bin /proc /sys /root /quad;do
     c="umount $rpath$dir"
-    if $c 2>&1|grep -v ': not mounted$';then
+    if $c 2>&1|grep -v ': not \(mounted\|found\)$';then
       echo $c
     fi
     if ! $u;then
@@ -172,20 +192,6 @@ for r in $l;do
     echo $c; $c
   fi
 
-  c="umount $rpath/var/cache/yum"
-  if $c 2>&1|grep -v ': not mounted$';then
-    echo $c
-  fi
-  if ! $u;then
-    if [ -d /var/cache/mock/$r/yum_cache ];then
-      cr=$r
-    else
-      cr=`echo $r|sed 's/-[^-]*$//'`
-    fi
-    c="mount --bind /var/cache/mock/$cr/yum_cache $rpath/var/cache/yum"
-    echo $c; $c
-  fi
-
   rm -f $rpath/usr/local/lib/debug
   if ! $u;then
     ln -s ../../lib/debug $rpath/usr/local/lib/debug