SVN: toys/tools/cleanbuild/multibuild

sparky sparky at pld-linux.org
Sat May 15 15:56:57 CEST 2010


Author: sparky
Date: Sat May 15 15:56:56 2010
New Revision: 11465

Modified:
   toys/tools/cleanbuild/multibuild
Log:
- option to continue automatically if last build succeeded and there
  were no changes


Modified: toys/tools/cleanbuild/multibuild
==============================================================================
--- toys/tools/cleanbuild/multibuild	(original)
+++ toys/tools/cleanbuild/multibuild	Sat May 15 15:56:56 2010
@@ -2,9 +2,15 @@
 
 b="$(echo -n -e '\033[1m')"
 B="$(echo -n -e '\033[22m')"
+r="$(echo -n -e '\033[31m')"
+g="$(echo -n -e '\033[32m')"
 c="$(echo -n -e '\033[33m')"
 e="$(echo -n -e '\033[0m')"
 
+ignore() { }
+MULTI_CONTINUE=false
+[ -r .cleanbuildrc ] && . ./.cleanbuildrc
+
 [ -d mbuild ] || mkdir mbuild
 
 end_pkg()
@@ -14,9 +20,11 @@
 	mv mbuild/start.$package mbuild/$result.$package
 }
 
-next_pkg()
+get_pkg()
 {
+	list="$1"
 	package=""
+	[ -r $list ] || return
 	while read pkg info; do
 		if [ ! -r mbuild/ok.$pkg ] && [ ! -r mbuild/fail.$pkg ] \
 				&& [ ! -r mbuild/start.$pkg ]; then
@@ -24,7 +32,17 @@
 			touch mbuild/start.$package
 			break
 		fi
-	done < blist
+	done < $list
+}
+
+
+next_pkg()
+{
+	get_pkg blist
+
+	[ -n "$package" ] && return
+
+	get_pkg blist2
 
 	if [ -z "$package" ]; then
 		echo "${c}Nothing to build${e}"
@@ -42,10 +60,26 @@
 
 	OLDPWD="$PWD"
 	cd $HOME/rpm/packages/$package
-	cvs -z3 diff -u $package.spec | colordiff
+	DIFF="$(cvs -z3 diff -u $package.spec)"
+	echo "$DIFF" | colordiff
 	cd $OLDPWD
 
-	echo "$package build finished with exit status $ret"
+	if [ $ret -eq 0 ]; then
+		COLOR="$g"
+	else
+		COLOR="$r"
+	fi
+	echo "$COLOR$package build finished with exit status $ret$e"
+
+	if $MULTI_CONTINUE && [ $ret -eq 0 -a -z "$DIFF" ]; then
+		echo "Nothing changed: continuing\n"
+		./clean "$@"
+		end_pkg
+		exec $0 "$@"
+		exit
+	fi
+
+	MULTI_CONTINUE=false
 
 	while true; do
 		echo


More information about the pld-cvs-commit mailing list