]> git.ozlabs.org Git - next-scripts/blobdiff - do_build
do_stats: create the mail message as well
[next-scripts] / do_build
index b36d6b2fec75421005c14381585ac6b49603bbb6..b9dfd96fec1120ed7e1ba3f2539ba20af1b67855 100755 (executable)
--- a/do_build
+++ b/do_build
 #!/bin/sh
 
-build_host="ka2"
-build_dir="/scratch/sfr/next"
+. "$(dirname $0)/common.sh"
 
-[ "$NEXT_BUILD_HOST" ] && build_host="$NEXT_BUILD_HOST"
-[ "$NEXT_BUILD_DIR" ] && build_dir="$NEXT_BUILD_DIR"
+set -e
 
-[ -n "$1" ] && {
-       build_host="$1"
-       shift
-}
-[ -n "$1" ] && {
-       build_dir="$1"
-       shift
-}
+###ssh "$build_host" /bin/sh -e <<-EOF
+ssh root@"$build_host" unshare -n su $(id -u -n) <<-EOF
 
-set -e
+       echo Building on \$(hostname)
 
-ssh "$build_host" /bin/sh -e <<-EOF
        echo \$PATH | grep -q "\$HOME/bin" || export PATH="\$HOME/bin:\$PATH"
        export LANG=C
 
-       cd "$build_dir"
+       cd "$build_dir" || exit 1
 
        export CCACHE_DIR="${build_dir%/*}/.ccache"
        export TMPDIR="${build_dir%/*}/tmp"
 
-       git reset --hard next
-
-       d=../powerpc_ppc64_defconfig
-       [ -d \$d ] || mkdir \$d
-       cross -n -N -a powerpc64 -k powerpc -c 4.8 O=\$d ppc64_defconfig
-       cross -n -N -a powerpc64 -k powerpc -c 4.8 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
+       [ -d \$d ] || mkdir \$d || exit 1
+       log_x86=\$d.log
        e=\$d.except
-       echo CONFIG_PROFILE_ALL_BRANCHES=n >\$e
-       echo CONFIG_DEBUG_INFO=n >>\$e
-       echo CONFIG_X86_DECODER_SELFTEST=n >>\$e
-       KCONFIG_ALLCONFIG=\$e cross -n -N -a x86_64 -c 4.8 O=\$d allmodconfig
-       rm \$e
-       cross -n -N -a x86_64 -c 4.8 O=\$d -j64 -s
+       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 &
+
+       echo Building: powerpc ppc64_defconfig
+       d=../powerpc_ppc64_defconfig
+       [ -d \$d ] || mkdir \$d || exit 1
+       log_ppc=\$d.log
+       cross -n -N -a powerpc64 -k powerpc -c $gcc_version O=\$d ppc64_defconfig || exit 1
+       echo "Forking powerpc build ..."
+       /usr/bin/time cross -n -N -a powerpc64 -k powerpc -c $gcc_version O=\$d -j$j_factor -s > \$log_ppc 2>&1 &
+
+       echo Building: arm multi_v7_defconfig
+       d=../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 &
+
+       echo Building: perf
+       d=../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 &
+
+       wait %4
+       rc=\$?
+
+       if [ \$rc -ne 0 ]; then
+               echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+               echo "ERROR: perf build failed - log follows"
+               echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+               cat \$log_perf
+               kill %1
+               kill %2
+               kill %3
+               killall make
+               rm .scmversion
+               exit 1
+       else
+               echo "============================"
+               echo " perf build OK - log follows"
+               echo "============================"
+               cat \$log_perf
+       fi
+
+       wait %3
+       rc=\$?
+
+       if [ \$rc -ne 0 ]; then
+               echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+               echo "ERROR: arm multi_v7_defconfig build failed - log follows"
+               echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+               cat \$log_arm
+               kill %1
+               kill %2
+               killall make
+               rm .scmversion
+               exit 1
+       else
+               echo "=================================================="
+               echo " ARM build OK - log follows"
+               echo "=================================================="
+               cat \$log_arm
+       fi
+
+       wait %2
+       rc=\$?
+
+       if [ \$rc -ne 0 ]; then
+               echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+               echo "ERROR: powerpc ppc64_defconfig build failed - log follows"
+               echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+               cat \$log_ppc
+               kill %1
+               killall make
+               rm .scmversion
+               exit 1
+       else
+               echo "=================================================="
+               echo " powerpc build OK - log follows"
+               echo "=================================================="
+               cat \$log_ppc
+       fi
+
+       wait %1
+       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