masstest_sbo.sh (1559B)
1 #!/usr/bin/bash 2 3 # set DISTCLEAN TRUE to preserve space 4 sboconfig -d TRUE 5 # clear out work directories and distfiles 6 sboclean -dw 7 8 SBOS=$(find /usr/sbo -type f -iname \*.info | sed -r 's|.*/([^/]+)\.info$|\1|g'); 9 10 TLOG=~/tmp.log 11 ILOG=~/install.log 12 RLOG=~/remove.log 13 14 # zero out logs in case they have content from previous run 15 :> $ILOG 16 :> $RLOG 17 18 for i in build md5sum wget noinfo nomulti else; do 19 :> ~/$i.fail.log 20 done 21 22 function build_things() { 23 if [ ! -z $1 ]; then 24 . /usr/sbo/*/$1/$1.info 25 for i in $REQUIRES; do 26 if [[ "$i" != "%README%" ]]; then 27 build_things $i 28 fi 29 done 30 echo "=============" > $TLOG 31 echo "sboinstall -r $1" >> $TLOG 32 sboinstall -r $1 >> $TLOG 2>&1 33 case "$?" in 34 "0") OLOG="" ;; 35 "3") OLOG=~/build.fail.log ;; 36 "4") OLOG=~/md5sum.fail.log ;; 37 "5") OLOG=~/wget.fail.log ;; 38 "7") OLOG=~/noinfo.fail.log ;; 39 "9") OLOG=~/nomulti.fail.log ;; 40 *) OLOG=~/else.fail.log ;; 41 esac 42 if [[ "$OLOG" != "" ]]; then 43 if ! grep -q "^$1 added to install queue.$" $OLOG; then 44 echo "" >> $OLOG 45 cat $TLOG >> $OLOG 46 fi 47 fi 48 echo "" >> $ILOG 49 cat $TLOG >> $ILOG 50 :> $TLOG 51 else 52 echo "build_things() requires an argument." 53 exit 1 54 fi 55 } 56 57 function remove_things() { 58 if [ ! -z $1 ]; then 59 echo "=============" > $TLOG 60 echo "sboremove --nointeractive $1" >> $TLOG 61 sboremove --nointeractive $1 >> $TLOG 2>&1 62 echo "" >> $RLOG 63 cat $TLOG >> $RLOG 64 :> $TLOG 65 fi 66 } 67 68 for i in $SBOS; do 69 echo $i 70 build_things $i 71 remove_things $i 72 removepkg $(ls /var/log/packages|grep SBo) > /dev/null 2>&1 73 done 74 75 exit 0