]> git.pld-linux.org Git - projects/cleanbuild.git/commitdiff
- option to continue automatically if last build succeeded and there
authorsparky <sparky@pld-linux.org>
Sat, 15 May 2010 13:56:56 +0000 (13:56 +0000)
committersparky <sparky@pld-linux.org>
Sat, 15 May 2010 13:56:56 +0000 (13:56 +0000)
  were no changes

svn-id: @11465

multibuild

index 594b1837dd68e17002ead3e477fcf3668548b1af..acf5330488bcdc7871e64530f50cee722e726b49 100755 (executable)
@@ -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 @@ end_pkg()
        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 @@ next_pkg()
                        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 @@ while true; do
 
        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
This page took 0.323449 seconds and 4 git commands to generate.