From a7f67e295f22b4890d375f5fffd98f97f0a4356b Mon Sep 17 00:00:00 2001 From: The-going <48602507+The-going@users.noreply.github.com> Date: Sun, 17 Mar 2019 18:27:19 +0300 Subject: [PATCH] Standard error output is always sent to the file. Currently, compilation errors from the standard error channel are sent to standard output, and then the shared stream can be routed to the $DEST/debug/compilation.log file or not. As a result, we can see either empty compilation.log file, or a file containing a million lines of total output. This behavior makes little sense. After applying this patch, compilation errors will always be sent to $DIST/debug/compilation.log The file will look something like this: ---------------------------------------------------------------- == atf == == u-boot == .config:1253:warning: override: reassigning to symbol BOOTDELAY == kernel == In file included from ./include/linux/kernel.h:11:0, from ./include/linux/clk.h:16, from drivers/iio/adc/sun4i-gpadc-iio.c:25: ...... --- --- lib/compilation.sh | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/lib/compilation.sh b/lib/compilation.sh index f97d989fc2..7314955789 100644 --- a/lib/compilation.sh +++ b/lib/compilation.sh @@ -57,10 +57,12 @@ compile_atf() # create patch for manual source changes [[ $CREATE_PATCHES == yes ]] && userpatch_create "atf" + echo -e "\n\t== atf ==\n" >>$DEST/debug/compilation.log # ENABLE_BACKTRACE="0" has been added to workaround a regression in ATF. # Check: https://github.com/armbian/build/issues/1157 eval CCACHE_BASEDIR="$(pwd)" env PATH=$toolchain:$toolchain2:$PATH \ - 'make ENABLE_BACKTRACE="0" $target_make $CTHREADS CROSS_COMPILE="$CCACHE $ATF_COMPILER"' 2>&1 \ + 'make ENABLE_BACKTRACE="0" $target_make $CTHREADS \ + CROSS_COMPILE="$CCACHE $ATF_COMPILER"' 2>>$DEST/debug/compilation.log \ ${PROGRESS_LOG_TO_FILE:+' | tee -a $DEST/debug/compilation.log'} \ ${OUTPUT_DIALOG:+' | dialog --backtitle "$backtitle" --progressbox "Compiling ATF..." $TTY_Y $TTY_X'} \ ${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'} @@ -142,8 +144,10 @@ compile_uboot() cp -Rv $atftempdir/*.bin . fi + echo -e "\n\t== u-boot ==\n" >>$DEST/debug/compilation.log eval CCACHE_BASEDIR="$(pwd)" env PATH=$toolchain:$PATH \ - 'make $CTHREADS $BOOTCONFIG CROSS_COMPILE="$CCACHE $UBOOT_COMPILER"' 2>&1 \ + 'make $CTHREADS $BOOTCONFIG \ + CROSS_COMPILE="$CCACHE $UBOOT_COMPILER"' 2>>$DEST/debug/compilation.log \ ${PROGRESS_LOG_TO_FILE:+' | tee -a $DEST/debug/compilation.log'} \ ${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'} @@ -167,7 +171,8 @@ compile_uboot() [[ -n $BOOTDELAY ]] && sed -i "s/^CONFIG_BOOTDELAY=.*/CONFIG_BOOTDELAY=${BOOTDELAY}/" .config || [[ -f .config ]] && echo "CONFIG_BOOTDELAY=${BOOTDELAY}" >> .config eval CCACHE_BASEDIR="$(pwd)" env PATH=$toolchain:$PATH \ - 'make $target_make $CTHREADS CROSS_COMPILE="$CCACHE $UBOOT_COMPILER"' 2>&1 \ + 'make $target_make $CTHREADS \ + CROSS_COMPILE="$CCACHE $UBOOT_COMPILER"' 2>>$DEST/debug/compilation.log \ ${PROGRESS_LOG_TO_FILE:+' | tee -a $DEST/debug/compilation.log'} \ ${OUTPUT_DIALOG:+' | dialog --backtitle "$backtitle" --progressbox "Compiling u-boot..." $TTY_Y $TTY_X'} \ ${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'} @@ -378,11 +383,15 @@ compile_kernel() xz < .config > $sources_pkg_dir/usr/src/${LINUXCONFIG}_${version}_${REVISION}_config.xz + echo -e "\n\t== kernel ==\n" >>$DEST/debug/compilation.log eval CCACHE_BASEDIR="$(pwd)" env PATH=$toolchain:$PATH \ - 'make $CTHREADS ARCH=$ARCHITECTURE CROSS_COMPILE="$CCACHE $KERNEL_COMPILER" LOCALVERSION="-$LINUXFAMILY" \ - $KERNEL_IMAGE_TYPE modules dtbs 2>&1' \ + 'make $CTHREADS ARCH=$ARCHITECTURE \ + CROSS_COMPILE="$CCACHE $KERNEL_COMPILER" \ + LOCALVERSION="-$LINUXFAMILY" \ + $KERNEL_IMAGE_TYPE modules dtbs 2>>$DEST/debug/compilation.log' \ ${PROGRESS_LOG_TO_FILE:+' | tee -a $DEST/debug/compilation.log'} \ - ${OUTPUT_DIALOG:+' | dialog --backtitle "$backtitle" --progressbox "Compiling kernel..." $TTY_Y $TTY_X'} \ + ${OUTPUT_DIALOG:+' | dialog --backtitle "$backtitle" \ + --progressbox "Compiling kernel..." $TTY_Y $TTY_X'} \ ${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'} if [[ ${PIPESTATUS[0]} -ne 0 || ! -f arch/$ARCHITECTURE/boot/$KERNEL_IMAGE_TYPE ]]; then @@ -399,9 +408,16 @@ compile_kernel() display_alert "Creating packages" # produce deb packages: image, headers, firmware, dtb + echo -e "\n\t== deb packages: image, headers, firmware, dtb ==\n" >>$DEST/debug/compilation.log eval CCACHE_BASEDIR="$(pwd)" env PATH=$toolchain:$PATH \ - 'make -j1 $kernel_packing KDEB_PKGVERSION=$REVISION LOCALVERSION="-${LINUXFAMILY}" \ - KBUILD_DEBARCH=$ARCH ARCH=$ARCHITECTURE DEBFULLNAME="$MAINTAINER" DEBEMAIL="$MAINTAINERMAIL" CROSS_COMPILE="$CCACHE $KERNEL_COMPILER" 2>&1' \ + 'make -j1 $kernel_packing \ + KDEB_PKGVERSION=$REVISION \ + LOCALVERSION="-${LINUXFAMILY}" \ + KBUILD_DEBARCH=$ARCH \ + ARCH=$ARCHITECTURE \ + DEBFULLNAME="$MAINTAINER" \ + DEBEMAIL="$MAINTAINERMAIL" \ + CROSS_COMPILE="$CCACHE $KERNEL_COMPILER" 2>>$DEST/debug/compilation.log' \ ${PROGRESS_LOG_TO_FILE:+' | tee -a $DEST/debug/compilation.log'} \ ${OUTPUT_DIALOG:+' | dialog --backtitle "$backtitle" --progressbox "Creating kernel packages..." $TTY_Y $TTY_X'} \ ${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'}