snapshot
[git] / DoKernelOrg
1 #!/bin/sh
2
3 case "`uname -m 2>/dev/null`" in
4 x86_64)
5         USE_PIC=YesPlease
6         export USE_PIC
7         ;;
8 esac
9
10 : ${J='-l 4 -j'}
11 G=/pub/software/scm/git &&
12
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 &&
20
21 case "$1" in
22 '')
23         echo "* Building all"
24         : ${branches='next master maint pu'}
25         nstalled=install
26         for branch in $branches
27         do
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
40                 fi
41         done >:all.log 2>&1
42         ;;
43
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)
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 "$arch" in
61         i386)
62                 status=$?
63                 case "$status" in
64                 0)
65                         echo >&2 "Done -- move RPMS to the master machine."
66                         (
67                                 cd "$HOME/rpms/" &&
68                                 tar cf "$HOME/$V.tar" \
69                                         RPMS/$arch/*-$V-*.$arch.rpm &&
70                                 ls -ld $HOME/$V.tar
71                         )
72                         make clean
73                         ;;
74                 ?)
75                         echo >&2 "Failed with status $status"
76                         ;;
77                 esac
78                 exit $status ;;
79         esac >>./:all.log 2>&1 &&
80         make dist-doc >>./:all.log 2>&1 &&
81         mkdir -p $G/RPMS/$arch $G/RPMS/SRPMS &&
82         ln git-$V.tar.gz git-htmldocs-$V.tar.gz git-manpages-$V.tar.gz $G/. &&
83         for a in $narch
84         do
85                 mkdir -p "$G/RPMS/$a"
86                 ln $HOME/rpms/RPMS/$a/*-$V-*.$a.rpm $G/RPMS/$a/.
87         done &&
88         ln $HOME/rpms/SRPMS/git-$V-*.src.rpm $G/RPMS/SRPMS/. &&
89         {
90                 # I do not know how it exits, and I do not care much.
91                 for a in $narch
92                 do
93                         /usr/local/bin/yummy $G/RPMS/$a
94                 done
95                 /usr/local/bin/yummy $G/RPMS/SRPMS
96                 :
97         } >>./:all.log 2>&1 &&
98         make clean &&
99
100         : ;;
101 esac || exit $?
102
103 git checkout master