kernel.org build is now x86_64
[git.git] / DoKernelOrg
1 #!/bin/sh
2
3 J='-l 4 -j'
4 G=/pub/software/scm/git &&
5
6 cd $HOME/git &&
7 make clean >/dev/null 2>&1 &&
8 git reset --hard &&
9 make clean >/dev/null 2>&1 &&
10 git checkout master &&
11 git pull . origin &&
12 make clean >/dev/null 2>&1 &&
13
14 case "$1" in
15 '')
16         echo "* Building all"
17         branches='naster master maint'
18
19         # Make sure naster is between master and pu if exists
20         if naster=`git rev-parse --verify refs/heads/naster 2>/dev/null`
21         then
22                 master=`git rev-parse --verify refs/heads/master` &&
23                 pu=`git rev-parse --verify refs/heads/pu` &&
24                 MBM=`git merge-base --all $naster $master` &&
25                 MBN=`git merge-base --all $naster $pu` &&
26                 case ",$MBM,$MBN," in
27                 ",$master,$naster,") ;;
28                 *)      echo >&2 "naster is not between master and pu"
29                         exit 1 ;;
30                 esac
31                 # If naster is the same as pu, no point rebuilding pu.
32                 case ",$naster,$pu," in
33                 ",$pu,$naster,") ;;
34                 *) branches="$branches pu" ;;
35                 esac
36         fi
37
38         {
39                 nstalled=install
40                 for branch in $branches
41                 do
42                         if git-rev-parse --verify refs/heads/$branch 2>/dev/null
43                         then
44                                 echo "** $branch **" &&
45                                 git checkout $branch &&
46                                 make $J $nstalled &&
47                                 make test &&
48                                 make clean &&
49                                 nstalled=all || exit $?
50                         else
51                                 echo
52                                 echo "* NO $branch"
53                                 echo
54                         fi
55                 done
56         } >:all.log 2>&1
57         ;;
58 maint | master)
59         arch=x86_64
60         mkdir -p $G/RPMS/$arch $G/RPMS/SRPMS &&
61
62         echo "* Building $1"
63         git checkout "$1" &&
64         make rpm >./:rpm.log 2>&1 &&
65         make $J git >>./:rpm.log 2>&1 &&
66         V=`./git --version | sed -e 's/git version //'` &&
67         ln git-$V.tar.gz $G/. &&
68         ln $HOME/rpms/RPMS/$arch/git*-$V-* $G/RPMS/$arch/. &&
69         ln $HOME/rpms/SRPMS/git-$V-* $G/RPMS/SRPMS/. &&
70         {
71                 # I do not know how it exits, and I do not care much.
72                 /usr/local/bin/yummy $G/RPMS/$arch
73                 /usr/local/bin/yummy $G/RPMS/SRPMS
74                 :
75         } &&
76         rm -fr ./:rpm.log &&
77         make clean &&
78
79         : ;;
80 esac || exit $?
81
82 git checkout master