44#
55# Original Creation Date: 2023-Oct-01 by @ExtremeFiretop.
66# Official Co-Author: @Martinski W. - Date: 2023-Nov-01
7- # Last Modified: 2025-Mar-20
7+ # Last Modified: 2025-Mar-24
88# ##################################################################
99set -u
1010
@@ -37,11 +37,13 @@ readonly CL_URL_3006="${FW_SFURL_BASE}/Documentation/Changelog-3006.txt/download
3737readonly high_risk_terms=" factory default reset|features are disabled|break backward compatibility|must be manually|strongly recommended"
3838
3939# #----------------------------------------##
40- # # Modified by Martinski W. [2024-Dec-31 ] ##
40+ # # Modified by Martinski W. [2025-Mar-24 ] ##
4141# #----------------------------------------##
4242# For new script version updates from source repository #
4343DLRepoVersion=" "
4444DLRepoVersionNum=" "
45+ DLRepoBuildNum=0
46+ ScriptBuildNum=0
4547ScriptVersionNum=" "
4648scriptUpdateNotify=0
4749
@@ -2608,6 +2610,24 @@ _CheckForNewGUIVersionUpdate_()
26082610 return " $retCode "
26092611}
26102612
2613+ # #-------------------------------------##
2614+ # # Added by Martinski W. [2025-Mar-24] ##
2615+ # #-------------------------------------##
2616+ _GetDLScriptVersion_ ()
2617+ {
2618+ if [ $# -eq 0 ] || [ -z " $1 " ] || [ ! -s " $1 " ]
2619+ then echo ; return 1 ; fi
2620+
2621+ local DLversBuildNum=0
2622+ if [ " $( wc -l < " $1 " ) " -eq 2 ]
2623+ then
2624+ DLversBuildNum=" $( tail -n1 " $1 " ) "
2625+ [ -z " $DLversBuildNum " ] && DLversBuildNum=0
2626+ fi
2627+ echo " $( head -n1 " $1 " ) |$DLversBuildNum "
2628+ return 0
2629+ }
2630+
26112631# #----------------------------------------##
26122632# # Modified by Martinski W. [2025-Feb-15] ##
26132633# #----------------------------------------##
@@ -2692,7 +2712,7 @@ _DownloadScriptFiles_()
26922712}
26932713
26942714# #----------------------------------------##
2695- # # Modified by Martinski W. [2025-Feb-15 ] ##
2715+ # # Modified by Martinski W. [2025-Mar-24 ] ##
26962716# #----------------------------------------##
26972717_SCRIPT_UPDATE_ ()
26982718{
@@ -2701,10 +2721,7 @@ _SCRIPT_UPDATE_()
27012721 if [ $# -gt 0 ] && [ " $1 " = " force" ]
27022722 then
27032723 printf " \n${CYANct} Force downloading latest script version...${NOct} \n"
2704- if ! _CheckForNewScriptUpdates_ -quietcheck
2705- then
2706- DLRepoVersion=" $( /usr/sbin/curl -LSs --retry 4 --retry-delay 5 " ${SCRIPT_URL_REPO} /version.txt" ) "
2707- fi
2724+ _CheckForNewScriptUpdates_ -quietcheck
27082725 if _CheckForNewGUIVersionUpdate_ " $SCRIPT_VERSION " " $DLRepoVersion "
27092726 then extraParam=" install"
27102727 fi
@@ -2749,7 +2766,8 @@ _SCRIPT_UPDATE_()
27492766 if _DownloadScriptFiles_ update
27502767 then
27512768 if " $mountWebGUI_OK "
2752- then _SetVersionSharedSettings_ local " $DLRepoVersion " ; fi
2769+ then _SetVersionSharedSettings_ local " $DLRepoVersion "
2770+ fi
27532771 printf " \n${CYANct} Download successful!${NOct} \n"
27542772 printf " $( date) - Successfully downloaded $SCRIPT_NAME v${DLRepoVersion} \n"
27552773 fi
@@ -2770,7 +2788,8 @@ _SCRIPT_UPDATE_()
27702788 if _DownloadScriptFiles_ update
27712789 then
27722790 if " $mountWebGUI_OK "
2773- then _SetVersionSharedSettings_ local " $DLRepoVersion " ; fi
2791+ then _SetVersionSharedSettings_ local " $DLRepoVersion "
2792+ fi
27742793 printf " \n$( date) - Successfully downloaded $SCRIPT_NAME v${DLRepoVersion} \n"
27752794 printf " ${CYANct} Update successful! Restarting script...${NOct} \n"
27762795 sleep 1
@@ -2791,23 +2810,37 @@ _SCRIPT_UPDATE_()
27912810}
27922811
27932812# #----------------------------------------##
2794- # # Modified by Martinski W. [2025-Feb-15 ] ##
2813+ # # Modified by Martinski W. [2025-Mar-24 ] ##
27952814# #----------------------------------------##
27962815_CheckForNewScriptUpdates_ ()
27972816{
2817+ local verStr DLScriptVerPath=" ${SCRIPT_VERPATH} .DL.tmp"
27982818 echo
27992819 DLRepoVersion=" $SCRIPT_VERSION "
2800- [ -s " $SCRIPT_VERPATH " ] && DLRepoVersion=" $( cat " $SCRIPT_VERPATH " ) "
2801- rm -f " $SCRIPT_VERPATH "
2820+ if [ -s " $SCRIPT_VERPATH " ]
2821+ then
2822+ if verStr=" $( _GetDLScriptVersion_ " $SCRIPT_VERPATH " ) "
2823+ then
2824+ DLRepoVersion=" $( echo " $verStr " | awk -F ' |' ' {print $1}' ) "
2825+ DLRepoBuildNum=" $( echo " $verStr " | awk -F ' |' ' {print $2}' ) "
2826+ ScriptBuildNum=" $DLRepoBuildNum "
2827+ fi
2828+ fi
28022829
2803- if ! _CurlFileDownload_ " version.txt" " $SCRIPT_VERPATH "
2830+ if ! _CurlFileDownload_ " version.txt" " $DLScriptVerPath "
28042831 then
28052832 Say " ${REDct} **ERROR**${NOct} : Unable to download latest version file for $SCRIPT_NAME ."
28062833 scriptUpdateNotify=0
28072834 return 1
28082835 fi
28092836
2810- DLRepoVersion=" $( cat " $SCRIPT_VERPATH " ) "
2837+ if verStr=" $( _GetDLScriptVersion_ " $DLScriptVerPath " ) "
2838+ then
2839+ DLRepoVersion=" $( echo " $verStr " | awk -F ' |' ' {print $1}' ) "
2840+ DLRepoBuildNum=" $( echo " $verStr " | awk -F ' |' ' {print $2}' ) "
2841+ fi
2842+ rm -f " $DLScriptVerPath "
2843+
28112844 if [ -z " $DLRepoVersion " ]
28122845 then
28132846 Say " ${REDct} **ERROR**${NOct} : Variable for downloaded version is empty."
@@ -2818,7 +2851,11 @@ _CheckForNewScriptUpdates_()
28182851 DLRepoVersionNum=" $( _ScriptVersionStrToNum_ " $DLRepoVersion " ) "
28192852 ScriptVersionNum=" $( _ScriptVersionStrToNum_ " $SCRIPT_VERSION " ) "
28202853
2821- if [ " $DLRepoVersionNum " -gt " $ScriptVersionNum " ]
2854+ if [ " $DLRepoVersionNum " -gt " $ScriptVersionNum " ] || \
2855+ {
2856+ [ " $DLRepoVersionNum " -eq " $ScriptVersionNum " ] && \
2857+ [ " $DLRepoBuildNum " -gt " $ScriptBuildNum " ]
2858+ }
28222859 then
28232860 scriptUpdateNotify=" New script update available.
28242861${REDct} v${SCRIPT_VERSION}${NOct} --> ${GRNct} v${DLRepoVersion}${NOct} "
0 commit comments