X-Git-Url: https://git.jankratochvil.net/?p=nethome.git;a=blobdiff_plain;f=bin%2Fmockupdate;h=fc22ef650810e87a64fb0e38d3a042f418a340a7;hp=b62c493facd654e52a104e972764f6c217f8bfb8;hb=89f10d958bacf3f13160bbba670195bc0eb414f3;hpb=d24d5088b6cb92727b09eac7c2e4088c84a26c01 diff --git a/bin/mockupdate b/bin/mockupdate index b62c493..fc22ef6 100755 --- a/bin/mockupdate +++ b/bin/mockupdate @@ -13,8 +13,8 @@ if [ "$1" = "-q" ];then shift fi -if [ -z "$HOME" ];then - HOME=/root +if [ -z "$HOME" -o "$HOME" = "/" ];then + export HOME=/root fi for i in "$@";do @@ -46,12 +46,28 @@ for i in "$@";do continue fi + r="$(basename $i|sed 's/\(-x86_64\|-i.86\)-.*$/\1/')" + r="$r$(basename $i|sed -n 's/^.*\(-x86_64\|-i.86\)-\(.*\)$/ --uniqueext=\2/p')" /usr/local/sbin/mocksetup -u `basename $i` - rm -f $i/root/var/lib/rpm/__db.* if ! $quick;then - mock $opts -r `basename $i` --update - mock $opts -r `basename $i` --install `cat ~/src/INSTALL` + rm -f $i/root/var/lib/rpm/__db.* + mock $opts -r $r --update + mock $opts -r $r --install `cat $HOME/src/INSTALL` + # Otherwise: error: cannot open Packages index using db3 - Invalid argument (22) + if [ "${i#*/epel-[45]-}" = "$i" ];then + rm -f $i/root/var/lib/rpm/__db.* + mock $opts -r $r --shell 'package-cleanup --cleandupes' + rm -f $i/root/var/lib/rpm/__db.* + mock $opts -r $r --update + mock $opts -r $r --install `cat $HOME/src/INSTALL` + fi fi + # Otherwise: error: cannot open Packages index using db3 - Invalid argument (22) + if [ "${i#*/epel-[45]-}" = "$i" ];then + rm -f $i/root/var/lib/rpm/__db.* + mock $opts -r $r --shell 'package-cleanup --cleandupes' + fi + rm -f $i/root/var/lib/rpm/__db.* # Run: yum groupinstall buildsys-build # Cleaning would undo the changes above. # file /lib/libnssutil3.so conflicts between attempted installs of nss-3.12.3.99.3-10.fc12.i686 and nss-util-3.12.3.99.3-9.fc12.i686 @@ -66,7 +82,7 @@ for i in "$@";do # Leftover usually just removing vital system packages: rm -f $i/root/var/lib/yum/transaction-* # Print duplicates: - rpm -r $i/root --qf '%{name}.%{arch}\n' -qa|sort|uniq -d|sed -e '1s/^/ror duplicity:\n/' -e '1s/^/mockupdate er/' + rpm -r $i/root --qf '%{name}.%{arch}\n' -qa|sort|uniq -d|grep -v '^kernel\.'|sed -e '1s/^/ror duplicity:\n/' -e '1s/^/mockupdate er/' done echo done mockupdate "$*"