X-Git-Url: https://git.jankratochvil.net/?p=nethome.git;a=blobdiff_plain;f=bin%2Fmockupdate;h=fc22ef650810e87a64fb0e38d3a042f418a340a7;hp=0f23872976b575956ee025c525d2e89601c95d4d;hb=cbe38aac1a2fbde6d16d0720655d6a5adc3d07b1;hpb=8d9a77cb8cb0aaf6b0187e12e25bd7b53ac1ed9a diff --git a/bin/mockupdate b/bin/mockupdate index 0f23872..fc22ef6 100755 --- a/bin/mockupdate +++ b/bin/mockupdate @@ -13,6 +13,10 @@ if [ "$1" = "-q" ];then shift fi +if [ -z "$HOME" -o "$HOME" = "/" ];then + export HOME=/root +fi + for i in "$@";do if [ "$i" = "${i#/var/lib/mock/}" ];then echo >&2 "$i not /var/lib/mock/*" @@ -42,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 @@ -61,6 +81,8 @@ for i in "$@";do rpm -r $i/root --rebuilddb # 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|grep -v '^kernel\.'|sed -e '1s/^/ror duplicity:\n/' -e '1s/^/mockupdate er/' done echo done mockupdate "$*"