SVN: toys/tools/cleanbuild/multibuild

sparky sparky at pld-linux.org
Tue Dec 8 02:05:04 CET 2009


Author: sparky
Date: Tue Dec  8 02:05:04 2009
New Revision: 11013

Added:
   toys/tools/cleanbuild/multibuild   (contents, props changed)
Log:
- NEW: build multiple packages from list


Added: toys/tools/cleanbuild/multibuild
==============================================================================
--- (empty file)
+++ toys/tools/cleanbuild/multibuild	Tue Dec  8 02:05:04 2009
@@ -0,0 +1,94 @@
+#!/bin/sh
+
+[ -d mbuild ] || mkdir mbuild
+
+end_pkg()
+{
+	result=fail
+	[ $ret -eq 0 ] && result=ok
+	mv mbuild/start.$package mbuild/$result.$package
+}
+
+next_pkg()
+{
+	package=""
+	while read pkg; do
+		if [ ! -r mbuild/ok.$pkg ] && [ ! -r mbuild/fail.$pkg ] \
+				&& [ ! -r mbuild/start.$pkg ]; then
+			package="$pkg"
+			touch mbuild/start.$package
+			break
+		fi
+	done < blist
+
+	if [ -z "$package" ]; then
+		echo "Nothing to build"
+		exit
+	fi
+}
+
+./clean "$@"
+package=
+next_pkg
+build="cleanbuild"
+
+b="$(echo -n -e '\033[1m')"
+B="$(echo -n -e '\033[22m')"
+c="$(echo -n -e '\033[33m')"
+e="$(echo -n -e '\033[0m')"
+while true; do
+	./$build "$@" $package
+	ret=$?
+
+	echo "$package build finished with exit status $ret"
+	echo
+
+	while true; do
+		if [ $ret -eq 0 ]; then
+			echo -n "${b}c${B}lean rebuild," \
+		   		"re${b}b${B}uild, $c${b}n${B}ext$e ? "
+		else
+			echo -n "${b}c${B}lean rebuild," \
+		   		"${c}re${b}b${B}uild$e, ${b}n${B}ext ? "
+		fi
+
+		read ans
+		case "x$ans" in
+			x[rRcC])
+				build="cleanbuild"
+				;;
+			x[bB])
+				build="build"
+				;;
+			x[nN])
+				end_pkg
+				build="cleanbuild"
+				./clean "$@"
+				next_pkg
+				;;
+			x[qQ])
+				end_pkg
+				exit
+				;;
+			x)
+				if [ $ret -eq 0 ]; then
+					end_pkg
+					build="cleanbuild"
+					./clean "$@"
+					next_pkg
+				else
+					build="build"
+				fi
+				;;
+			*)
+				continue
+				;;
+		esac
+
+		break
+	done
+				
+
+done
+
+# vim: ts=4:sw=4


More information about the pld-cvs-commit mailing list