From 50b88bd9b5971c30b887db7f27c360313cb8f039 Mon Sep 17 00:00:00 2001 From: Ernest Borowski Date: Wed, 12 May 2021 12:42:08 +0000 Subject: [PATCH] Improve logging in upgrade-trigger.sh script. - Add log helper function which can log to stdout and file logging format: [script-name][tag]actual_log currently supported tag formats: [Error] [Info] Change-Id: Iebb727b8ec4a12fca80b03f6b64c472134749020 Signed-off-by: Ernest Borowski --- scripts/upgrade-trigger.sh | 54 ++++++++++++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/scripts/upgrade-trigger.sh b/scripts/upgrade-trigger.sh index 9eb7e48..cd12243 100644 --- a/scripts/upgrade-trigger.sh +++ b/scripts/upgrade-trigger.sh @@ -10,8 +10,24 @@ VERSION_FILE="/opt/etc/version" DOWNLOAD_DELTA=$1 IMG_VERIFIER="/usr/sbin/img-verifier" +SCRIPT_NAME="upgrade-trigger.sh" +LOG_FILE="/tmp/upgrade-trigger.log" +#------------------------------------------------ +# log msg [file] +#------------------------------------------------ +log() { + # log format: [script_name][tag]actual_log + LOG="[${SCRIPT_NAME}]$1" + if [ "$2" != "" ]; then + echo "$LOG" >> "$2" + fi + echo "$LOG" +} + +rm -f "$LOG_FILE" && touch "$LOG_FILE" + if [ "$#" != "1" ] || [ ! -f "$1" ]; then - echo "[Error] Usage: $0 path_to_delta.tar[.gz]" + log "[Error] Usage: $0 path_to_delta.tar[.gz]" "$LOG_FILE" exit 1 fi @@ -21,17 +37,19 @@ if tar ztf "$DOWNLOAD_DELTA" 1>/dev/null; then elif tar tf "$DOWNLOAD_DELTA" 1>/dev/null; then DELTA_TAR="$FOTA_DIR/delta.tar" else - echo "[Error] Usage $0 path_to_delta.tar[.gz]" + log "[Error] Usage $0 path_to_delta.tar[.gz]" "$LOG_FILE" exit 1 fi +log "[Info] Using <$DELTA_TAR> delta file." "$LOG_FILE" + flash_pre_image() { - echo "[Info] Flash images for update..." + log "[Info] Flash images for update..." "$LOG_FILE" CONFIG_FILE="update.cfg" /bin/tar xvfp "$DELTA_TAR" -C "$FOTA_DIR" "$CONFIG_FILE" if [ ! -e "$FOTA_DIR/$CONFIG_FILE" ]; then - echo "[Error] There is no $CONFIG_FILE" + log "[Error] There is no $CONFIG_FILE" "$LOG_FILE" return fi @@ -40,7 +58,7 @@ flash_pre_image() { if [ "$TYPE" = "PRE_UA" ]; then /bin/tar xvfp "$DELTA_TAR" -C "$FOTA_DIR" "$DELTA_NAME" if [ ! -e "$FOTA_DIR/$DELTA_NAME" ]; then - echo "[Info] There is no delta for $PART_NAME" + log "[Info] There is no delta for $PART_NAME" "$LOG_FILE" continue fi @@ -61,7 +79,7 @@ flash_pre_image() { DEV="${EMMC_DEVICE}p${DEV_NUM}" fi - echo "[Info] Flashing $DELTA_NAME... to $DEV" + log "[Info] Flashing $DELTA_NAME... to $DEV" "$LOG_FILE" dd if="$FOTA_DIR/$DELTA_NAME" of="$DEV" bs=1024 rm -f "$FOTA_DIR/$DELTA_NAME" fi @@ -87,7 +105,7 @@ run_setup_script() { SETUP_SCRIPT_PATH=$FOTA_DIR/$SETUP_SCRIPT_NAME /bin/tar xvfp "$DELTA_TAR" -C "$FOTA_DIR" "$SETUP_SCRIPT_NAME" ||\ - (echo "setup.sh does not exist, skipping." && return) + (log "[Error] setup.sh does not exist, skipping." "$LOG_FILE" && return) if [ -e "$SETUP_SCRIPT_PATH" ]; then /bin/sh "$SETUP_SCRIPT_PATH" @@ -97,12 +115,12 @@ run_setup_script() { # Check fota directory if [ ! -d "$FOTA_DIR" ]; then - echo "[Info] Create fota dir..." + log "[Info] Create fota dir..." "$LOG_FILE" /bin/mkdir -p "$FOTA_DIR" fi if [ ! -d "$STATUS_DIR" ]; then - echo "[Info] Create status dir..." + log "[Info] Create status dir..." "$LOG_FILE" /bin/mkdir -p "$STATUS_DIR" fi @@ -112,9 +130,9 @@ if [ ! -f "$VERSION_FILE" ]; then fi if [ "$DOWNLOAD_DELTA" -ef "$DELTA_TAR" ]; then - echo "[Info] delta.tar[.gz] is already placed in correct directory." + log "[Info] delta.tar[.gz] is already placed in correct directory." "$LOG_FILE" else - echo "[Info] Copy delta.tar[.gz]..." + log "[Info] Copy delta.tar[.gz]..." "$LOG_FILE" /bin/cp "$DOWNLOAD_DELTA" "$DELTA_TAR" fi @@ -129,13 +147,13 @@ sync # Verify delta.tar if [ -e "$IMG_VERIFIER" ]; then - echo "[Info] Package verifier is found. Verify $DELTA_TAR" + log "[Info] Package verifier is found. Verify $DELTA_TAR" "$LOG_FILE" if ! "$IMG_VERIFIER" -i "$DELTA_TAR" -l "/opt/var/log/last_iv.log"; then - echo "[Error] Update package verification FAILED..." + log "[Error] Update package verification FAILED..." "$LOG_FILE" echo 5 > "$STATUS_DIR"/result exit 1 else - echo "[Info] Update package verification PASSED!" + log "[Info] Update package verification PASSED!" "$LOG_FILE" fi fi @@ -148,7 +166,7 @@ run_setup_script flash_pre_image # Extract delta.ua -echo "[Info] Extract delta.ua..." +log "[Info] Extract delta.ua..." "$LOG_FILE" /bin/tar xvfp "$DELTA_TAR" -C "$FOTA_DIR" delta.ua sync sleep 1 @@ -156,14 +174,14 @@ sleep 1 # FOTA: /usr/bin/rw-update-prepare.sh # Write delta saved path -echo "[Info] Write paths..." +log "[Info] Write paths..." "$LOG_FILE" echo "$FOTA_DIR" > "$STATUS_DIR/DELTA.PATH" dirname "$DOWNLOAD_DELTA" > "$STATUS_DIR/DOWNLOAD.PATH" sync # go to fota mode -echo "[Info] Go TOTA update..." +log "[Info] Go TOTA update..." "$LOG_FILE" if ! /sbin/reboot fota; then - echo "[Error] Failed to reboot fota" + log "[Error] Failed to reboot fota" "$LOG_FILE" exit 100 fi -- 2.7.4