Automate the release procedure a bit more.
[git.git] / DoKernelOrg
index 1c10ea6..53d87bf 100755 (executable)
@@ -14,27 +14,59 @@ make clean >/dev/null 2>&1 &&
 case "$1" in
 '')
        echo "* Building all"
-       {
-               make $J install &&
-               make test &&
-               make clean &&
-               git checkout pu &&
-               make $J clean &&
-               make test clean
-       } >:all.log 2>&1
+       branches='next master maint'
+       nstalled=install
+       for branch in $branches
+       do
+               if git-rev-parse --verify refs/heads/$branch 2>/dev/null
+               then
+                       echo "** $branch **" &&
+                       git checkout $branch &&
+                       make $J $nstalled &&
+                       make test &&
+                       make clean &&
+                       nstalled=all || exit $?
+               else
+                       echo
+                       echo "* NO $branch"
+                       echo
+               fi
+       done >:all.log 2>&1
        ;;
-maint | master)
-       mkdir -p $G/RPMS/i386 $G/RPMS/SRPMS &&
 
-       echo "* Building $1"
+maint | master)
+       case `hostname` in
+       hera.kernel.org)
+               arch=x86_64 ;;
+       old-hera.kernel.org)
+               arch=i386 ;;
+       *)      echo >&2 "What are you talking about???"
+               exit 1 ;;
+       esac &&
+       : >./:all.log &&
+       mkdir -p $G/RPMS/$arch $G/RPMS/SRPMS &&
+       echo "* Building $1" &&
        git checkout "$1" &&
-       make rpm >./:rpm.log 2>&1 &&
-       make $J git >>./:rpm.log 2>&1 &&
+       make rpm >>./:all.log 2>&1 &&
+       case "$arch" in
+       i386)
+               status=$?
+               echo >&2 "Done -- move RPMS to the master machine."
+               make clean
+               exit $status ;;
+       esac &&
+       make dist-doc >>./:all.log 2>&1 &&
+       make $J git >>./:all.log 2>&1 &&
        V=`./git --version | sed -e 's/git version //'` &&
-       ln git-$V.tar.gz $G/. &&
-       ln $HOME/rpms/RPMS/i386/git*-$V-* $G/RPMS/i386/. &&
+       ln git-$V.tar.gz git-htmldocs-$V.tar.gz git-manpages-$V.tar.gz $G/. &&
+       ln $HOME/rpms/RPMS/$arch/git*-$V-* $G/RPMS/$arch/. &&
        ln $HOME/rpms/SRPMS/git-$V-* $G/RPMS/SRPMS/. &&
-       rm -fr ./:rpm.log &&
+       {
+               # I do not know how it exits, and I do not care much.
+               /usr/local/bin/yummy $G/RPMS/$arch
+               /usr/local/bin/yummy $G/RPMS/SRPMS
+               :
+       } >>./:all.log 2>&1 &&
        make clean &&
 
        : ;;