#!/bin/sh
-J=
-# J='-l 4 -j'
-nodo=echo
+J='-l 4 -j'
+G=/pub/software/scm/git &&
cd $HOME/git &&
-make clean &&
+make clean >/dev/null 2>&1 &&
git reset --hard &&
-make clean &&
+make clean >/dev/null 2>&1 &&
git checkout master &&
git pull . origin &&
-make clean &&
+make clean >/dev/null 2>&1 &&
case "$1" in
'')
- make $J install &&
- make test &&
- make clean &&
- git checkout pu &&
- make $J clean &&
- make test clean
+ echo "* Building all"
+ 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)
- G=/pub/software/scm/git &&
+ arch=x86_64
+ mkdir -p $G/RPMS/$arch $G/RPMS/SRPMS &&
+ echo "* Building $1"
git checkout "$1" &&
- make rpm &&
- make $J git &&
- V=$(./git --version | sed -e 's/git version //') &&
- $nodo ln git-$V.tar.gz $G/. &&
- D=`pwd` &&
- M="git-man-pages-$V" &&
- rm -rf "$M" &&
- rm -f "$M".tar.gz &&
- make man1="$D/$M/man1" man7="$D/$M/man7" -C Documentation install &&
- $nodo tar zcf "$G/$M".tar.gz "$M" &&
- rm -fr "$M" &&
+ make rpm >./:rpm.log 2>&1 &&
+ make $J git >>./:rpm.log 2>&1 &&
+ V=`./git --version | sed -e 's/git version //'` &&
+ ln git-$V.tar.gz $G/. &&
+ ln $HOME/rpms/RPMS/$arch/git*-$V-* $G/RPMS/$arch/. &&
+ ln $HOME/rpms/SRPMS/git-$V-* $G/RPMS/SRPMS/. &&
+ {
+ # 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
+ :
+ } &&
+ rm -fr ./:rpm.log &&
make clean &&
- $nodo ln $HOME/rpms/RPMS/i386/git*-$V-* $G/RPMS/i386/. &&
- $nodo ln $HOME/rpms/SRPMS/git-$V-* $G/RPMS/SRPMS/.
- ;;
+ : ;;
esac || exit $?
git checkout master