X-Git-Url: https://git.jankratochvil.net/?a=blobdiff_plain;f=bin%2Fmocksetup;h=e811d2031f791d50a548a5d771af0f0b5e563bd8;hb=71174f74e243fc093b9c720180ac0a9cc2db1304;hp=3ff35360c497866eb69d9535422acc309b72fc63;hpb=4dc581838220e86f3d890c04a1eda65fe328a342;p=nethome.git diff --git a/bin/mocksetup b/bin/mocksetup index 3ff3536..e811d20 100755 --- a/bin/mocksetup +++ b/bin/mocksetup @@ -40,6 +40,12 @@ for r in $l;do lockfile -l 10 $rpath/MOCK.mocksetup-lock echo >&2 " done" + if $soft && [ -f $rpath/MOCK ];then + rm -f $rpath/MOCK.mocksetup-lock + echo >&2 "Unlocked $rpath/MOCK.mocksetup-lock ." + continue + fi + l="" b="" for p in /proc/*/root;do @@ -58,19 +64,13 @@ for r in $l;do continue fi - if $soft && [ -f $rpath/MOCK ];then - rm -f $rpath/MOCK.mocksetup-lock - echo >&2 "Unlocked $rpath/MOCK.mocksetup-lock ." - continue - fi - rm -f $rpath/MOCK # It fails on already mounted /proc. But we do not need it. # mock -q -r $r chroot true echo "$rpath lock check" for n in passwd group;do - cat /etc/$n $rpath/etc/$n|perl -ne 'print if /^(?:[^:]*:){2}(5\d\d):/'|sort|uniq -u|tee -a $rpath/etc/$n + cat /etc/$n $rpath/etc/$n|perl -ne 'print if /^(?:[^:]*:){2}(10\d\d):/'|sort|uniq -u|tee -a $rpath/etc/$n done if [ ! -f $rpath/etc/mtab-orig ];then c="mv -f $rpath/etc/mtab $rpath/etc/mtab-orig" @@ -85,7 +85,7 @@ for r in $l;do echo $c done - for dir in /home /usr/local/bin /dev /proc /sys;do + for dir in /home /usr/local/bin /dev /proc /sys /root;do c="umount $rpath$dir" while $c 2>&1|grep -v ': not mounted$';do echo $c @@ -107,7 +107,12 @@ for r in $l;do echo $c done if ! $u;then - c="mount --bind /var/cache/mock/$r/yum_cache $rpath/var/cache/yum" + 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 @@ -121,6 +126,20 @@ for r in $l;do ln -s ../../src/debug $rpath/usr/local/src/debug fi + rm -f $rpath/usr/local/share/gdb + if ! $u;then + mkdir -p $rpath/usr/local/share + ln -s ../../share/gdb $rpath/usr/local/share/gdb + fi + + # Old systems incl. RHEL-6 do not feature it. + if [ -d $rpath/etc/sudoers.d ];then + rm -f $rpath/etc/sudoers.d/inteltest + if ! $u;then + ln /etc/sudoers.d/inteltest $rpath/etc/sudoers.d/inteltest + fi + fi + if ! $u;then echo $r >$rpath/MOCK fi