sbotools2

Maintenance fork of the original sbotools version 2
git clone git://git.server.ky/slackcoder/sbotools2
Log | Files | Refs | README

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