From 336f8391e6d4abb2e05737affe0ea4b48b07ccbc Mon Sep 17 00:00:00 2001 From: Liu Shilong Date: Tue, 31 Jan 2023 18:35:17 +0800 Subject: [PATCH] Fix sonic-slave-* build errors about sudo command not found (#13412) issue #13395 Fix a bug about sudo failure. /usr/local/share/buildinfo/scripts/buildinfo_base.sh: line 24: sudo: command not found Fix an issue about warning message. ./scripts/run_with_retry: line 4: [: : integer expression expected --- scripts/run_with_retry | 4 +++- src/sonic-build-hooks/scripts/buildinfo_base.sh | 17 ++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/scripts/run_with_retry b/scripts/run_with_retry index 9e709bbf1bda..0c5696633bd4 100755 --- a/scripts/run_with_retry +++ b/scripts/run_with_retry @@ -1,7 +1,9 @@ #!/bin/bash run_with_retry(){ - [ "$SONIC_BUILD_RETRY_COUNT" -gt 0 ] || SONIC_BUILD_RETRY_COUNT=0 + # set default value and change invalid param input to 0 + (( SONIC_BUILD_RETRY_COUNT > 0 )) || SONIC_BUILD_RETRY_COUNT=0 + (( SONIC_BUILD_RETRY_INTERVAL > 0 )) || SONIC_BUILD_RETRY_INTERVAL=600 [[ "$*" == "" ]] && { echo "run_with_retry: input command can't be empty." 1>&2;exit 1; } for ((i=0; i<=$SONIC_BUILD_RETRY_COUNT; i++)) do diff --git a/src/sonic-build-hooks/scripts/buildinfo_base.sh b/src/sonic-build-hooks/scripts/buildinfo_base.sh index c36f4139de5f..861d8ee740fd 100755 --- a/src/sonic-build-hooks/scripts/buildinfo_base.sh +++ b/src/sonic-build-hooks/scripts/buildinfo_base.sh @@ -15,24 +15,27 @@ REPR_MIRROR_URL_PATTERN='http:\/\/packages.trafficmanager.net\/' DPKG_INSTALLTION_LOCK_FILE=/tmp/.dpkg_installation.lock . $BUILDINFO_PATH/config/buildinfo.config + +if [ "$(whoami)" != "root" ] && [ -n "$(which sudo)" ];then + SUDO=sudo +else + SUDO='' +fi + if [ -e /vcache ]; then PKG_CACHE_PATH=/vcache/${IMAGENAME} else PKG_CACHE_PATH=/sonic/target/vcache/${IMAGENAME} fi PKG_CACHE_FILE_NAME=${PKG_CACHE_PATH}/cache.tgz -mkdir -p ${PKG_CACHE_PATH} +$SUDO mkdir -p ${PKG_CACHE_PATH} +$SUDO chown $USER $PKG_CACHE_PATH +. ${BUILDINFO_PATH}/scripts/utils.sh URL_PREFIX=$(echo "${PACKAGE_URL_PREFIX}" | sed -E "s#(//[^/]*/).*#\1#") -if [ "$(whoami)" != "root" ] && [ -n "$(which sudo)" ];then - SUDO=sudo -else - SUDO='' -fi - log_err() { echo "$1" >> $LOG_PATH/error.log