|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
exec 3>&2 >./:all.log 2>&1
|
|
|
|
|
|
|
|
ln_or_cp () {
|
|
|
|
ln -f "$@" || cp -f "$@"
|
|
|
|
}
|
|
|
|
|
|
|
|
STAGE= narch= arch= master= jobs= rpm=t final=
|
|
|
|
G=/pub/software/scm/git
|
|
|
|
THIS=$(git describe HEAD)
|
|
|
|
|
|
|
|
while case "$1" in -*) ;; *) break ;; esac
|
|
|
|
do
|
|
|
|
case "$1" in
|
|
|
|
--master) master=t ;;
|
|
|
|
--slave) master=f ;;
|
|
|
|
-j*) jobs="$1" ;;
|
|
|
|
--dist-only) rpm=f ;;
|
|
|
|
--stage=?*) STAGE=${1#--stage=} ;;
|
|
|
|
--final) final=t ;;
|
|
|
|
--pub=?*) G=${1#--pub=} ;;
|
|
|
|
*) echo >&3 "Eh? $1"; exit 1 ;;
|
|
|
|
esac
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
|
|
|
|
while test -n "$STAGE" && test "$STAGE" != "${STAGE%/}"
|
|
|
|
do
|
|
|
|
STAGE="${STAGE%/}"
|
|
|
|
done
|
|
|
|
|
|
|
|
if test -z "$master"
|
|
|
|
then
|
|
|
|
case "$(hostname)" in
|
|
|
|
hera.kernel.org) master=t ;;
|
|
|
|
*) master=f ;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test t = "$master"
|
|
|
|
then
|
|
|
|
narch='x86_64 i386 i686'
|
|
|
|
if test -z "$final"
|
|
|
|
then
|
|
|
|
case "$STAGE" in
|
|
|
|
?*) final=f ;;
|
|
|
|
'') final=t ;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
if test t != "$rpm"
|
|
|
|
then
|
|
|
|
echo >&3 "'--dist-only' only makes sense on the master machine"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
if test t = "$final"
|
|
|
|
then
|
|
|
|
echo >&3 "'--final' only makes sense on the master machine"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
eval $(rpm --showrc | sed -ne '
|
|
|
|
s/^-14: dist[ ]*\./dist=/p
|
|
|
|
s/^-11= _target_cpu[ ]*/arch=/p
|
|
|
|
') && test -n "$dist" && test -n "$arch" || exit 1
|
|
|
|
|
|
|
|
d='
|
|
|
|
MAN_BASE_URL="http://www.kernel.org/pub/software/scm/git/docs/"
|
|
|
|
ASCIIDOC_NO_ROFF=YesPlease
|
|
|
|
ASCIIDOC8=YesPlease
|
|
|
|
BLK_SHA1=YesPlease
|
|
|
|
GNU_ROFF=YesPlease
|
|
|
|
'
|
|
|
|
|
|
|
|
rm -f version
|
|
|
|
echo "* Building $THIS"
|
|
|
|
|
|
|
|
make $jobs git &&
|
|
|
|
V=`./git --version | sed -e 's/git version //'` || exit
|
|
|
|
|
|
|
|
make $jobs dist || exit
|
|
|
|
|
|
|
|
if test t = "$rpm"
|
|
|
|
then
|
|
|
|
NEEDS_CRYPTO_WITH_SSL=YesPlease make $jobs $d rpm || exit
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test t != "$master"
|
|
|
|
then
|
|
|
|
(
|
|
|
|
cd "$HOME/rpms/" &&
|
|
|
|
tar cf "TARPIT/$V.$arch.$dist.tar" \
|
|
|
|
RPMS/$arch/*-$V-*.$dist.$arch.rpm &&
|
|
|
|
ls -ld $HOME/rpms/TARPIT/$V.$arch.$dist.tar
|
|
|
|
) || exit
|
|
|
|
make clean
|
|
|
|
echo >&2 "Done -- move RPMS to the master machine."
|
|
|
|
(cd $HOME/rpms && sha1sum TARPIT/$V.$arch.$dist.tar) >&2
|
|
|
|
echo >&2 "scp $HOME/rpms/TARPIT/$V.$arch.$dist.tar master.kernel.org:rpms/TARPIT"
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
|
|
|
|
make $jobs $d dist-doc || exit
|
|
|
|
|
|
|
|
mkdir -p "$STAGE$G" &&
|
|
|
|
ln_or_cp git-$V.tar.gz "$STAGE$G/." &&
|
|
|
|
ln_or_cp git-htmldocs-$V.tar.gz git-manpages-$V.tar.gz "$STAGE$G/." &&
|
|
|
|
mkdir -p "$STAGE$G/docs/v$V" &&
|
|
|
|
tar Cxf "$STAGE$G/docs/v$V" "$STAGE$G/git-htmldocs-$V.tar.gz" || exit
|
|
|
|
|
|
|
|
case "$V" in
|
|
|
|
*.rc[0-9]* | *-rc[0-9]*)
|
|
|
|
mkdir -p "$STAGE$G/testing" || exit
|
|
|
|
for a in $narch
|
|
|
|
do
|
|
|
|
for rr in $HOME/rpms/RPMS/$a/*-$V-*.$a.rpm
|
|
|
|
do
|
|
|
|
test -f "$rr" || continue
|
|
|
|
ln_or_cp "$rr" "$STAGE$G/testing/." || exit
|
|
|
|
done
|
|
|
|
done
|
|
|
|
ln_or_cp $HOME/rpms/SRPMS/git-$V-*.src.rpm "$STAGE$G/testing/." || exit
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
mkdir -p "$STAGE$G/RPMS/$arch" "$STAGE$G/RPMS/SRPMS" || exit
|
|
|
|
for a in $narch
|
|
|
|
do
|
|
|
|
mkdir -p "$STAGE$G/RPMS/$a" || exit
|
|
|
|
for rr in $HOME/rpms/RPMS/$a/*-$V-*.$a.rpm
|
|
|
|
do
|
|
|
|
test -f "$rr" || continue
|
|
|
|
ln_or_cp "$rr" "$STAGE$G/RPMS/$a/." || exit
|
|
|
|
done
|
|
|
|
done
|
|
|
|
ln_or_cp $HOME/rpms/SRPMS/git-$V-*.src.rpm "$STAGE$G/RPMS/SRPMS/." || exit
|
|
|
|
esac
|
|
|
|
|
|
|
|
make clean
|
|
|
|
|
|
|
|
if test t = "$final"
|
|
|
|
then
|
|
|
|
if test -n "$STAGE"
|
|
|
|
then
|
|
|
|
(
|
|
|
|
cd "$STAGE$G" &&
|
|
|
|
find . ! -type d -print0 | cpio -0plumda "$G" ||
|
|
|
|
find . ! -type d -print0 | cpio -0pumda "$G"
|
|
|
|
)
|
|
|
|
fi || exit
|
|
|
|
if test -f /usr/local/bin/yummy
|
|
|
|
then
|
|
|
|
for a in $narch
|
|
|
|
do
|
|
|
|
/usr/local/bin/yummy "$G/RPMS/$a"
|
|
|
|
done
|
|
|
|
/usr/local/bin/yummy "$G/RPMS/SRPMS"
|
|
|
|
fi
|
|
|
|
fi
|