You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.0 KiB
103 lines
2.0 KiB
#!/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) |
|
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 "$arch" in |
|
i386) |
|
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 ;; |
|
esac >>./:all.log 2>&1 && |
|
make dist-doc >>./:all.log 2>&1 && |
|
mkdir -p $G/RPMS/$arch $G/RPMS/SRPMS && |
|
ln git-$V.tar.gz git-htmldocs-$V.tar.gz git-manpages-$V.tar.gz $G/. && |
|
for a in $narch |
|
do |
|
mkdir -p "$G/RPMS/$a" |
|
ln $HOME/rpms/RPMS/$a/*-$V-*.$a.rpm $G/RPMS/$a/. |
|
done && |
|
ln $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 && |
|
make clean && |
|
|
|
: ;; |
|
esac || exit $? |
|
|
|
git checkout master
|
|
|