]> git.ozlabs.org Git - next-scripts/blobdiff - do_build
start of shellcheck fixes
[next-scripts] / do_build
index e50d901f59e61f217cd305d5f2af93734c09911a..a49f1b4cb89afc7380499b8f6ea8c12f842aa66d 100755 (executable)
--- a/do_build
+++ b/do_build
 #!/bin/sh
 
-. "$(dirname $0)/common.sh"
+tools_dir=$(dirname "$0")
+. "$tools_dir/common.sh"
 
 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.9.0 O=\$d ppc64_defconfig
-       cross -n -N -a powerpc64 -k powerpc -c 4.9.0 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.9.0 O=\$d allmodconfig
-       cross -n -N -a x86_64 -c 4.9.0 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.9.0 O=\$d multi_v7_defconfig
-       cross -n -N -a arm -c 4.9.0 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