Publish testing RPMs
[git/spearce.git] / DoKernelOrg
blob872fa8fc24396b8c554f4cacde3907e55c9d3da7
1 #!/bin/sh
3 case "`uname -m 2>/dev/null`" in
4 x86_64)
5 USE_PIC=YesPlease
6 export USE_PIC
7 ;;
8 esac
10 : ${J='-l 4 -j'}
11 G=/pub/software/scm/git &&
13 cd $HOME/git &&
14 make clean >/dev/null 2>&1 &&
15 git reset --hard &&
16 make clean >/dev/null 2>&1 &&
17 git checkout master &&
18 git pull . origin &&
19 make clean >/dev/null 2>&1 &&
21 case "$1" in
22 '')
23 echo "* Building all"
24 : ${branches='next master maint pu'}
25 nstalled=install
26 for branch in $branches
28 if git-rev-parse --verify refs/heads/$branch 2>/dev/null
29 then
30 echo "** $branch **" &&
31 git checkout $branch &&
32 make $J $nstalled &&
33 make test &&
34 make clean &&
35 nstalled=all || exit $?
36 else
37 echo
38 echo "* NO $branch"
39 echo
41 done >:all.log 2>&1
44 maint | master)
45 case `hostname` in
46 hera.kernel.org)
47 narch='x86_64 i386'
48 arch=x86_64 ;;
49 demeter.kernel.org|demeter|old-hera.kernel.org|kunrun-vmw-fc5)
50 arch=i386 ;;
51 *) echo >&2 "What are you talking about???"
52 exit 1 ;;
53 esac &&
54 : >./:all.log &&
55 echo "* Building $1" &&
56 git checkout "$1" &&
57 make $J git >./:all.log 2>&1 &&
58 V=`./git --version | sed -e 's/git version //'` &&
59 make rpm >>./:all.log 2>&1 &&
60 case "$narch" in
61 '')
62 # This is not the primary build machine.
63 status=$?
64 case "$status" in
66 echo >&2 "Done -- move RPMS to the master machine."
68 cd "$HOME/rpms/" &&
69 tar cf "$HOME/$V.tar" \
70 RPMS/$arch/*-$V-*.$arch.rpm &&
71 ls -ld $HOME/$V.tar
73 make clean
76 echo >&2 "Failed with status $status"
78 esac
79 exit $status ;;
81 ln -f git-$V.tar.gz $G/. &&
82 make dist-doc >>./:all.log 2>&1 &&
83 ln -f git-htmldocs-$V.tar.gz git-manpages-$V.tar.gz $G/.
85 esac >>./:all.log 2>&1 &&
86 case "$V" in
87 *.rc[0-9]*)
88 mkdir -p $G/testing &&
89 for a in $narch
91 for rr in $HOME/rpms/RPMS/$a/*-$V-*.$a.rpm
93 test -f "$rr" || continue
94 ln -f "$rr" $G/testing/.
95 done
96 done &&
97 ln -f $HOME/rpms/SRPMS/git-$V-*.src.rpm $G/testing/.
100 mkdir -p $G/RPMS/$arch $G/RPMS/SRPMS &&
101 for a in $narch
103 mkdir -p "$G/RPMS/$a" &&
104 for rr in $HOME/rpms/RPMS/$a/*-$V-*.$a.rpm
106 test -f "$rr" || continue
107 ln -f "$rr" $G/RPMS/$a/.
108 done
109 done &&
110 ln -f $HOME/rpms/SRPMS/git-$V-*.src.rpm $G/RPMS/SRPMS/. &&
112 # I do not know how it exits, and I do not care much.
113 for a in $narch
115 /usr/local/bin/yummy $G/RPMS/$a
116 done
117 /usr/local/bin/yummy $G/RPMS/SRPMS
119 } >>./:all.log 2>&1 ;;
120 esac &&
121 make clean &&
123 : ;;
124 esac || exit $?
126 git checkout master