#!/bin/sh case "`uname -m 2>/dev/null`" in x86_64) USE_PIC=YesPlease export USE_PIC ;; esac : ${J='-l 4 -j'} G=/pub/software/scm/git && cd $HOME/git && make clean >/dev/null 2>&1 && git reset --hard && make clean >/dev/null 2>&1 && git checkout master && git pull . origin && make clean >/dev/null 2>&1 && case "$1" in '') echo "* Building all" : ${branches='next master maint pu'} 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) case `hostname` in hera.kernel.org) narch='x86_64 i386' arch=x86_64 ;; demeter.kernel.org|demeter|old-hera.kernel.org|kunrun-vmw-fc5) arch=i386 ;; *) echo >&2 "What are you talking about???" exit 1 ;; esac && : >./:all.log && echo "* Building $1" && git checkout "$1" && make $J git >./:all.log 2>&1 && V=`./git --version | sed -e 's/git version //'` && make rpm >>./:all.log 2>&1 && case "$narch" in '') # This is not the primary build machine. status=$? case "$status" in 0) echo >&2 "Done -- move RPMS to the master machine." ( cd "$HOME/rpms/" && tar cf "$HOME/$V.tar" \ RPMS/$arch/*-$V-*.$arch.rpm && ls -ld $HOME/$V.tar ) make clean ;; ?) echo >&2 "Failed with status $status" ;; esac exit $status ;; *) ln -f git-$V.tar.gz $G/. && make dist-doc >>./:all.log 2>&1 && ln -f git-htmldocs-$V.tar.gz git-manpages-$V.tar.gz $G/. ;; esac >>./:all.log 2>&1 && case "$V" in *.rc[0-9]*) mkdir -p $G/testing && for a in $narch do for rr in $HOME/rpms/RPMS/$a/*-$V-*.$a.rpm do test -f "$rr" || continue ln -f "$rr" $G/testing/. done done && ln -f $HOME/rpms/SRPMS/git-$V-*.src.rpm $G/testing/. ;; *) mkdir -p $G/RPMS/$arch $G/RPMS/SRPMS && for a in $narch do mkdir -p "$G/RPMS/$a" && for rr in $HOME/rpms/RPMS/$a/*-$V-*.$a.rpm do test -f "$rr" || continue ln -f "$rr" $G/RPMS/$a/. done done && ln -f $HOME/rpms/SRPMS/git-$V-*.src.rpm $G/RPMS/SRPMS/. && { # I do not know how it exits, and I do not care much. for a in $narch do /usr/local/bin/yummy $G/RPMS/$a done /usr/local/bin/yummy $G/RPMS/SRPMS : } >>./:all.log 2>&1 ;; esac && make clean && : ;; esac || exit $? git checkout master