X-Git-Url: https://git.jankratochvil.net/?p=nethome.git;a=blobdiff_plain;f=bin%2Fmockupdate;h=fc22ef650810e87a64fb0e38d3a042f418a340a7;hp=8ae9e3587971de566eb1f228f9565900e90dbefe;hb=11606c698522b4651509e39735fc13f96575e262;hpb=b4c543b284c06db3d8ff59f863818b50bd553c31 diff --git a/bin/mockupdate b/bin/mockupdate index 8ae9e35..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 @@ -62,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 "$*"