From 99c1ee4ad3966e4062255771b6cf41d5c4da3975 Mon Sep 17 00:00:00 2001 From: Joel Samson Date: Mon, 14 Apr 2025 22:20:20 -0400 Subject: [PATCH 1/6] Script Update Email Notifications Script Update Email Notifications --- MerlinAU.sh | 75 +++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 62 insertions(+), 13 deletions(-) diff --git a/MerlinAU.sh b/MerlinAU.sh index c6467de7..4b652236 100644 --- a/MerlinAU.sh +++ b/MerlinAU.sh @@ -4,15 +4,15 @@ # # Original Creation Date: 2023-Oct-01 by @ExtremeFiretop. # Official Co-Author: @Martinski W. - Date: 2023-Nov-01 -# Last Modified: 2025-Apr-12 +# Last Modified: 2025-Apr-14 ################################################################### set -u ## Set version for each Production Release ## -readonly SCRIPT_VERSION=1.4.2 +readonly SCRIPT_VERSION=1.4.3 readonly SCRIPT_NAME="MerlinAU" ## Set to "master" for Production Releases ## -SCRIPT_BRANCH="master" +SCRIPT_BRANCH="dev" ##----------------------------------------## ## Modified by Martinski W. [2024-Jul-03] ## @@ -2830,7 +2830,7 @@ _DownloadScriptFiles_() } ##------------------------------------------## -## Modified by ExtremeFiretop [2025-Apr-08] ## +## Modified by ExtremeFiretop [2025-Apr-14] ## ##------------------------------------------## _SCRIPT_UPDATE_() { @@ -2839,7 +2839,10 @@ _SCRIPT_UPDATE_() if [ $# -gt 0 ] && [ "$1" = "force" ] then printf "\n${CYANct}Force downloading latest script version...${NOct}\n" - _CheckForNewScriptUpdates_ -quietcheck + _CheckForNewScriptUpdates_ -quietcheck "$@" + if [ "$scriptUpdateNotify" != "0" ] && ! $isInteractive; then + _SendEMailNotification_ SCRIPT_UPDATE_FOUND + fi if _CheckForNewGUIVersionUpdate_ "$SCRIPT_VERSION" "$DLRepoVersion" then extraParam="install" fi @@ -2853,10 +2856,20 @@ _SCRIPT_UPDATE_() _SetVersionSharedSettings_ local "$DLRepoVersion" _SetVersionSharedSettings_ server "$DLRepoVersion" fi + if ! "$isInteractive" + then + _SendEMailNotification_ SUCESS_SCRIPT_UPDATE_STATUS + fi sleep 1 _ReleaseLock_ exec "$ScriptFilePath" $extraParam exit 0 + else + if ! "$isInteractive" + then + _SendEMailNotification_ FAILED_SCRIPT_UPDATE_STATUS + fi + return 1 fi return 0 fi @@ -2899,7 +2912,7 @@ _SCRIPT_UPDATE_() else printf "\n\n${GRNct}Exiting Script Update Utility...${NOct}\n" sleep 1 - return + return 0 fi elif [ "$scriptUpdateNotify" != "0" ] then @@ -2918,6 +2931,10 @@ _SCRIPT_UPDATE_() fi printf "\n${CYANct}Download successful!${NOct}\n" printf "\n$(date) - Successfully updated $SCRIPT_NAME v${DLRepoVersion}\n" + if ! "$isInteractive" + then + _SendEMailNotification_ SUCESS_SCRIPT_UPDATE_STATUS + fi printf "${CYANct}Restarting script...${NOct}\n" sleep 1 _CheckForNewGUIVersionUpdate_ && extraParam="install" @@ -2925,20 +2942,24 @@ _SCRIPT_UPDATE_() exec "$ScriptFilePath" $extraParam exit 0 else + if ! "$isInteractive" + then + _SendEMailNotification_ FAILED_SCRIPT_UPDATE_STATUS + fi _WaitForEnterKey_ - return + return 1 fi else printf "\n\n${GRNct}Exiting Script Update Utility...${NOct}\n" sleep 1 - return + return 0 fi fi } -##----------------------------------------## -## Modified by Martinski W. [2025-Mar-24] ## -##----------------------------------------## +##------------------------------------------## +## Modified by ExtremeFiretop [2025-Apr-14] ## +##------------------------------------------## _CheckForNewScriptUpdates_() { local verStr DLScriptVerPath="${SCRIPT_VERPATH}.DL.tmp" @@ -2960,6 +2981,7 @@ _CheckForNewScriptUpdates_() scriptUpdateNotify=0 return 1 fi + sleep 30 if verStr="$(_GetDLScriptVersion_ "$DLScriptVerPath")" then @@ -2986,7 +3008,6 @@ _CheckForNewScriptUpdates_() then scriptUpdateNotify="New script update available. ${REDct}v${SCRIPT_VERSION}${NOct} --> ${GRNct}v${DLRepoVersion}${NOct}" - if [ $# -gt 0 ] && [ "$1" = "-quietcheck" ] then return 0 fi @@ -3023,7 +3044,7 @@ _GetLatestFWUpdateVersionFromRouter_() } ##------------------------------------------## -## Modified by ExtremeFiretop [2024-Dec-28] ## +## Modified by ExtremeFiretop [2024-Apr-14] ## ##------------------------------------------## _CreateEMailContent_() { @@ -3097,6 +3118,34 @@ _CreateEMailContent_() printf "\nThe F/W version that is currently installed:\n${fwInstalledVersion}\n" } > "$tempEMailBodyMsg" ;; + SUCESS_SCRIPT_UPDATE_STATUS) + if [ -s "$SCRIPT_VERPATH" ] + then + if verStr="$(_GetDLScriptVersion_ "$SCRIPT_VERPATH")" + then + NEW_SCRIPT_VERSION="$(echo "$verStr" | awk -F '|' '{print $1}')" + fi + fi + emailBodyTitle="MerlinAU Script Update Installed" + { + echo "The new MerlinAU Script Update version ${DLRepoVersion} has been successfully installed on your ${MODEL_ID} router." + printf "\nThe currently installed script version is: ${NEW_SCRIPT_VERSION}\n" + } > "$tempEMailBodyMsg" + ;; + FAILED_SCRIPT_UPDATE_STATUS) + emailBodyTitle="MerlinAU Script Update Failed" + { + echo "Failed to install the new MerlinAU Script Update version ${DLRepoVersion} on your ${MODEL_ID} router." + printf "\nThe installed script version remains: ${SCRIPT_VERSION}\n" + } > "$tempEMailBodyMsg" + ;; + SCRIPT_UPDATE_FOUND) + emailBodyTitle="New MerlinAU Script Update Available" + { + echo "A new MerlinAU Script Update version ${DLRepoVersion} is now available for your ${MODEL_ID} router." + printf "\nThe currently installed script version is: ${SCRIPT_VERSION}\n" + } > "$tempEMailBodyMsg" + ;; STOP_FW_UPDATE_APPROVAL) emailBodyTitle="WARNING" if "$isEMailFormatHTML" From 345967945a2cce48b4b8cf325cdb39c2003904c2 Mon Sep 17 00:00:00 2001 From: Joel Samson Date: Mon, 14 Apr 2025 22:21:06 -0400 Subject: [PATCH 2/6] Update MerlinAU.sh --- MerlinAU.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/MerlinAU.sh b/MerlinAU.sh index 4b652236..b56daa92 100644 --- a/MerlinAU.sh +++ b/MerlinAU.sh @@ -2981,7 +2981,6 @@ _CheckForNewScriptUpdates_() scriptUpdateNotify=0 return 1 fi - sleep 30 if verStr="$(_GetDLScriptVersion_ "$DLScriptVerPath")" then From f8644950fa49cc392cfd6c44ddd24fca510b25ce Mon Sep 17 00:00:00 2001 From: Joel Samson Date: Mon, 14 Apr 2025 22:22:01 -0400 Subject: [PATCH 3/6] Update MerlinAU.sh --- MerlinAU.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MerlinAU.sh b/MerlinAU.sh index b56daa92..0a5b5b93 100644 --- a/MerlinAU.sh +++ b/MerlinAU.sh @@ -2839,7 +2839,7 @@ _SCRIPT_UPDATE_() if [ $# -gt 0 ] && [ "$1" = "force" ] then printf "\n${CYANct}Force downloading latest script version...${NOct}\n" - _CheckForNewScriptUpdates_ -quietcheck "$@" + _CheckForNewScriptUpdates_ -quietcheck if [ "$scriptUpdateNotify" != "0" ] && ! $isInteractive; then _SendEMailNotification_ SCRIPT_UPDATE_FOUND fi From c3a46c2fe5c5c05f43f0eafc1aa12409e142aaaf Mon Sep 17 00:00:00 2001 From: Joel Samson Date: Mon, 14 Apr 2025 22:23:33 -0400 Subject: [PATCH 4/6] Update MerlinAU.sh --- MerlinAU.sh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/MerlinAU.sh b/MerlinAU.sh index 0a5b5b93..04ac9383 100644 --- a/MerlinAU.sh +++ b/MerlinAU.sh @@ -2931,10 +2931,6 @@ _SCRIPT_UPDATE_() fi printf "\n${CYANct}Download successful!${NOct}\n" printf "\n$(date) - Successfully updated $SCRIPT_NAME v${DLRepoVersion}\n" - if ! "$isInteractive" - then - _SendEMailNotification_ SUCESS_SCRIPT_UPDATE_STATUS - fi printf "${CYANct}Restarting script...${NOct}\n" sleep 1 _CheckForNewGUIVersionUpdate_ && extraParam="install" @@ -2942,10 +2938,6 @@ _SCRIPT_UPDATE_() exec "$ScriptFilePath" $extraParam exit 0 else - if ! "$isInteractive" - then - _SendEMailNotification_ FAILED_SCRIPT_UPDATE_STATUS - fi _WaitForEnterKey_ return 1 fi From e0fa5ba2534589f3ffc9733f0f4401634ef62f84 Mon Sep 17 00:00:00 2001 From: Joel Samson Date: Tue, 15 Apr 2025 00:34:05 -0400 Subject: [PATCH 5/6] Update version.txt --- version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.txt b/version.txt index 9df886c4..428b770e 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.4.2 +1.4.3 From 006f1b216186da9af747fdcbffec17efb885dd45 Mon Sep 17 00:00:00 2001 From: Joel Samson Date: Tue, 15 Apr 2025 00:55:00 -0400 Subject: [PATCH 6/6] Update MerlinAU.sh --- MerlinAU.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/MerlinAU.sh b/MerlinAU.sh index 04ac9383..9ef1de07 100644 --- a/MerlinAU.sh +++ b/MerlinAU.sh @@ -2841,7 +2841,7 @@ _SCRIPT_UPDATE_() printf "\n${CYANct}Force downloading latest script version...${NOct}\n" _CheckForNewScriptUpdates_ -quietcheck if [ "$scriptUpdateNotify" != "0" ] && ! $isInteractive; then - _SendEMailNotification_ SCRIPT_UPDATE_FOUND + _SendEMailNotification_ NEW_SCRIPT_UPDATE_FOUND fi if _CheckForNewGUIVersionUpdate_ "$SCRIPT_VERSION" "$DLRepoVersion" then extraParam="install" @@ -2858,7 +2858,7 @@ _SCRIPT_UPDATE_() fi if ! "$isInteractive" then - _SendEMailNotification_ SUCESS_SCRIPT_UPDATE_STATUS + _SendEMailNotification_ SUCCESS_SCRIPT_UPDATE_STATUS fi sleep 1 _ReleaseLock_ @@ -3109,7 +3109,7 @@ _CreateEMailContent_() printf "\nThe F/W version that is currently installed:\n${fwInstalledVersion}\n" } > "$tempEMailBodyMsg" ;; - SUCESS_SCRIPT_UPDATE_STATUS) + SUCCESS_SCRIPT_UPDATE_STATUS) if [ -s "$SCRIPT_VERPATH" ] then if verStr="$(_GetDLScriptVersion_ "$SCRIPT_VERPATH")" @@ -3130,7 +3130,7 @@ _CreateEMailContent_() printf "\nThe installed script version remains: ${SCRIPT_VERSION}\n" } > "$tempEMailBodyMsg" ;; - SCRIPT_UPDATE_FOUND) + NEW_SCRIPT_UPDATE_FOUND) emailBodyTitle="New MerlinAU Script Update Available" { echo "A new MerlinAU Script Update version ${DLRepoVersion} is now available for your ${MODEL_ID} router."