From 6ba1a2e411c4e92b17a42cfaf57ca5d286802a00 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, 12 insertions(+), 9 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 b42e37bf62b8..1e334a4a62da 100755 --- a/src/sonic-build-hooks/scripts/buildinfo_base.sh +++ b/src/sonic-build-hooks/scripts/buildinfo_base.sh @@ -15,26 +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 -sudo chown $USER $(dirname $PKG_CACHE_PATH) -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 "$(date "+%F-%H-%M-%S") ERR $1" >> $LOG_PATH/error.log