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