]> git.ozlabs.org Git - next-scripts/blob - do_build
start of shellcheck fixes
[next-scripts] / do_build
1 #!/bin/sh
2
3 tools_dir=$(dirname "$0")
4 . "$tools_dir/common.sh"
5
6 set -e
7
8 bparent=$(dirname "$build_dir")
9
10 cmd="/bin/sh"
11 [ "$build_host" ] &&
12         cmd="ssh root@$build_host unshare -n su $(id -u -n)"
13
14 $cmd <<-EOF
15
16         echo Building on \$(hostname)
17
18         echo \$PATH | grep -q "\$HOME/bin" || export PATH="\$HOME/bin:\$PATH"
19         export LANG=C
20
21         cd "$build_dir" || exit 1
22
23         export CCACHE_DIR="$bparent/.ccache"
24         export TMPDIR="$bparent/tmp"
25
26         git reset --hard next || exit 1
27         touch .scmversion || exit 1
28
29         echo Building: x86_64 allmodconfig
30         d="$bparent/x86_64_allmodconfig"
31         [ -d \$d ] || mkdir \$d || exit 1
32         log_x86=\$d.log
33         e=\$d.except
34         echo CONFIG_BUILD_DOCSRC=n >\$e || exit 1
35         echo CONFIG_MODULES=y >>\$e || exit 1
36         KCONFIG_ALLCONFIG=\$e cross -n -N -a x86_64 -c "$gcc_version" O=\$d allmodconfig || exit 1
37         echo "Forking x86 build ..."
38         /usr/bin/time cross -n -N -a x86_64 -c "$gcc_version" O=\$d -j"$j_factor" -s > \$log_x86 2>&1 &
39         x86_64_pid=\$!
40
41         echo Building: powerpc ppc64_defconfig
42         d="$bparent/powerpc_ppc64_defconfig"
43         [ -d \$d ] || mkdir \$d || exit 1
44         log_ppc=\$d.log
45         cross -n -N -a powerpc64 -k powerpc -c "$gcc_ppc_version" O=\$d ppc64_defconfig || exit 1
46         echo "Forking powerpc build ..."
47         /usr/bin/time cross -n -N -a powerpc64 -k powerpc -c "$gcc_ppc_version" O=\$d -j"$j_factor" -s > \$log_ppc 2>&1 &
48         ppc64_pid=\$!
49
50         echo Building: arm multi_v7_defconfig
51         d="$bparent/arm_multi_v7_defconfig"
52         [ -d \$d ] || mkdir \$d || exit 1
53         log_arm=\$d.log
54         cross -n -N -a arm -c "$gcc_version" O=\$d multi_v7_defconfig || exit 1
55         echo "Forking arm build ..."
56         /usr/bin/time cross -n -N -a arm -c "$gcc_version" O=\$d -j"$j_factor" -s > \$log_arm 2>&1 &
57         arm_pid=\$!
58
59         echo Building: perf
60         d="$bparent/perf"
61         [ -d \$d ] || mkdir \$d || exit 1
62         log_perf=\$d.log
63         echo "Forking perf build ..."
64         /usr/bin/time make -s -C tools/perf JOBS="$j_factor" O=\$d > \$log_perf 2>&1 &
65         perf_pid=\$!
66
67         wait \$perf_pid
68         rc=\$?
69
70         if [ \$rc -ne 0 ]; then
71                 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
72                 echo "ERROR: perf build failed - log follows"
73                 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
74                 cat \$log_perf
75                 kill \$x86_64_pid
76                 kill \$ppc64_pid
77                 kill \$arm_pid
78                 killall make
79                 rm .scmversion
80                 exit 1
81         else
82                 echo "============================"
83                 echo " perf build OK - log follows"
84                 echo "============================"
85                 cat \$log_perf
86         fi
87
88         wait \$arm_pid
89         rc=\$?
90
91         if [ \$rc -ne 0 ]; then
92                 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
93                 echo "ERROR: arm multi_v7_defconfig build failed - log follows"
94                 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
95                 cat \$log_arm
96                 kill \$x86_64_pid
97                 kill \$ppd64_pid
98                 killall make
99                 rm .scmversion
100                 exit 1
101         else
102                 echo "=================================================="
103                 echo " ARM build OK - log follows"
104                 echo "=================================================="
105                 cat \$log_arm
106         fi
107
108         wait \$ppc64_pid
109         rc=\$?
110
111         if [ \$rc -ne 0 ]; then
112                 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
113                 echo "ERROR: powerpc ppc64_defconfig build failed - log follows"
114                 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
115                 cat \$log_ppc
116                 kill \$x86_64_pid
117                 killall make
118                 rm .scmversion
119                 exit 1
120         else
121                 echo "=================================================="
122                 echo " powerpc build OK - log follows"
123                 echo "=================================================="
124                 cat \$log_ppc
125         fi
126
127         wait \$x86_64_pid
128         rc=\$?
129
130         if [ \$rc -ne 0 ]; then
131                 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
132                 echo "ERROR: x86_64 allmodconfig build failed - log follows"
133                 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
134                 cat \$log_x86
135                 rm .scmversion
136                 exit 1
137         else
138                 echo "=================================================="
139                 echo " x86 build OK - log follows"
140                 echo "=================================================="
141                 cat \$log_x86
142         fi
143
144         rm .scmversion
145 EOF