|
|
|
#!/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 "$NO_RPM_PLEASE" in
|
|
|
|
'')
|
|
|
|
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 ;;
|
|
|
|
*)
|
|
|
|
echo Skipping RPM ;;
|
|
|
|
esac &&
|
|
|
|
make clean &&
|
|
|
|
|
|
|
|
: ;;
|
|
|
|
esac || exit $?
|
|
|
|
|
|
|
|
git checkout master
|