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
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to