X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=do_build;h=4a5e2c385786b822bf7ced398b3787d2e75a22a6;hb=1a7d99e623f4f69f92dd4ff6663dfcb729039a33;hp=18f907b30b9055731dd0d8f2daa5b01cf10a8d94;hpb=9d13bfddf09c154fe844aaf1c8aa975026d99811;p=next-scripts diff --git a/do_build b/do_build index 18f907b..4a5e2c3 100755 --- a/do_build +++ b/do_build @@ -4,38 +4,141 @@ set -e -###ssh "$build_host" /bin/sh -e <<-EOF -ssh root@"$build_host" unshare -n su $(id -u -n) <<-EOF - set -e +bparent=$(dirname "$build_dir") + +cmd="/bin/sh" +[ "$build_host" ] && + cmd="ssh root@$build_host unshare -n su $(id -u -n)" + +$cmd <<-EOF + + echo Building on \$(hostname) echo \$PATH | grep -q "\$HOME/bin" || export PATH="\$HOME/bin:\$PATH" export LANG=C - cd "$build_dir" - - export CCACHE_DIR="${build_dir%/*}/.ccache" - export TMPDIR="${build_dir%/*}/tmp" + cd "$build_dir" || exit 1 - git reset --hard next - touch .scmversion + export CCACHE_DIR="$bparent/.ccache" + export TMPDIR="$bparent/tmp" - echo Building: powerpc ppc64_defconfig - d=../powerpc_ppc64_defconfig - [ -d \$d ] || mkdir \$d - cross -n -N -a powerpc64 -k powerpc -c 4.8.1 O=\$d ppc64_defconfig - cross -n -N -a powerpc64 -k powerpc -c 4.8.1 O=\$d -j64 -s + git reset --hard next || exit 1 + touch .scmversion || exit 1 echo Building: x86_64 allmodconfig - d=../x86_64_allmodconfig - [ -d \$d ] || mkdir \$d - cross -n -N -a x86_64 -c 4.8.1 O=\$d allmodconfig - cross -n -N -a x86_64 -c 4.8.1 O=\$d -j64 -s + d="$bparent/x86_64_allmodconfig" + [ -d \$d ] || mkdir \$d || exit 1 + log_x86=\$d.log + e=\$d.except + echo CONFIG_BUILD_DOCSRC=n >\$e || exit 1 + echo CONFIG_MODULES=y >>\$e || exit 1 + KCONFIG_ALLCONFIG=\$e cross -n -N -a x86_64 -c $gcc_version O=\$d allmodconfig || exit 1 + echo "Forking x86 build ..." + /usr/bin/time cross -n -N -a x86_64 -c $gcc_version O=\$d -j$j_factor -s > \$log_x86 2>&1 & + x86_64_pid=\$! + + echo Building: powerpc ppc64_defconfig + d="$bparent/powerpc_ppc64_defconfig" + [ -d \$d ] || mkdir \$d || exit 1 + log_ppc=\$d.log + cross -n -N -a powerpc64 -k powerpc -c $gcc_ppc_version O=\$d ppc64_defconfig || exit 1 + echo "Forking powerpc build ..." + /usr/bin/time cross -n -N -a powerpc64 -k powerpc -c $gcc_ppc_version O=\$d -j$j_factor -s > \$log_ppc 2>&1 & + ppc64_pid=\$! echo Building: arm multi_v7_defconfig - d=../arm_multi_v7_defconfig - [ -d \$d ] || mkdir \$d - cross -n -N -a arm -c 4.6 O=\$d multi_v7_defconfig - cross -n -N -a arm -c 4.6 O=\$d -j64 -s + d="$bparent/arm_multi_v7_defconfig" + [ -d \$d ] || mkdir \$d || exit 1 + log_arm=\$d.log + cross -n -N -a arm -c $gcc_version O=\$d multi_v7_defconfig || exit 1 + echo "Forking arm build ..." + /usr/bin/time cross -n -N -a arm -c $gcc_version O=\$d -j$j_factor -s > \$log_arm 2>&1 & + arm_pid=\$! + + echo Building: perf + d="$bparent/perf" + [ -d \$d ] || mkdir \$d || exit 1 + log_perf=\$d.log + echo "Forking perf build ..." + /usr/bin/time make -s -C tools/perf JOBS=$j_factor O=\$d > \$log_perf 2>&1 & + perf_pid=\$! + + wait \$perf_pid + rc=\$? + + if [ \$rc -ne 0 ]; then + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo "ERROR: perf build failed - log follows" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + cat \$log_perf + kill \$x86_64_pid + kill \$ppc64_pid + kill \$arm_pid + killall make + rm .scmversion + exit 1 + else + echo "============================" + echo " perf build OK - log follows" + echo "============================" + cat \$log_perf + fi + + wait \$arm_pid + rc=\$? + + if [ \$rc -ne 0 ]; then + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo "ERROR: arm multi_v7_defconfig build failed - log follows" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + cat \$log_arm + kill \$x86_64_pid + kill \$ppd64_pid + killall make + rm .scmversion + exit 1 + else + echo "==================================================" + echo " ARM build OK - log follows" + echo "==================================================" + cat \$log_arm + fi + + wait \$ppc64_pid + rc=\$? + + if [ \$rc -ne 0 ]; then + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo "ERROR: powerpc ppc64_defconfig build failed - log follows" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + cat \$log_ppc + kill \$x86_64_pid + killall make + rm .scmversion + exit 1 + else + echo "==================================================" + echo " powerpc build OK - log follows" + echo "==================================================" + cat \$log_ppc + fi + + wait \$x86_64_pid + rc=\$? + + if [ \$rc -ne 0 ]; then + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo "ERROR: x86_64 allmodconfig build failed - log follows" + echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + cat \$log_x86 + rm .scmversion + exit 1 + else + echo "==================================================" + echo " x86 build OK - log follows" + echo "==================================================" + cat \$log_x86 + fi rm .scmversion EOF