From 5135f7bfb215f6ef8c9c519b64c8da872705f57c Mon Sep 17 00:00:00 2001 From: OneCDOnly Date: Mon, 3 Jun 2024 06:11:40 +1000 Subject: [PATCH 01/17] record bash info in debug log - and don't specify path to `head`, it's a builtin so no-need. --- support/sherpa-manager.source | 16 +++++++--------- workshop/ideas.txt | 5 +++-- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/support/sherpa-manager.source b/support/sherpa-manager.source index 2444019d3..4b1d9e756 100755 --- a/support/sherpa-manager.source +++ b/support/sherpa-manager.source @@ -418,7 +418,6 @@ LoadCMDs() readonly DIRNAME_CMD=/usr/bin/dirname readonly DU_CMD=/usr/bin/du readonly GREP_CMD=/bin/grep - readonly HEAD_CMD=/usr/bin/head readonly LESS_CMD=/bin/less readonly MD5SUM_CMD=/bin/md5sum readonly MKNOD_CMD=/bin/mknod @@ -456,7 +455,6 @@ CMDsIsOk() IsSysFileExist $DIRNAME_CMD || return IsSysFileExist $DU_CMD || return IsSysFileExist $GREP_CMD || return - IsSysFileExist $HEAD_CMD || return # Don't check for `/bin/less` because it's not always there. IsSysFileExist $MD5SUM_CMD || return IsSysFileExist $MKNOD_CMD || return @@ -785,9 +783,9 @@ DebugLogEnv() DebugFirmware ok 'system load' "$(OsGetSysLoadAverages)" fi - DebugUserspace ok 'GLIBC' "$(/sbin/ldd --version | $HEAD_CMD -n1 | cut -d' ' -f4) $(/sbin/ldd --version | /bin/grep Copyright)" + DebugUserspace ok 'GLIBC' "$(/sbin/ldd --version | head -n1 | cut -d' ' -f4) $(/sbin/ldd --version | /bin/grep Copyright)" - DebugUserspace ok '$BASH_VERSION' "$BASH_VERSION" + DebugUserspace ok 'bash' "$(bash --version | head -n1)" DebugUserspace ok 'shell options' "$-" DebugUserspace ok 'time in shell' "$(UserGetTimeInShell)" @@ -6545,7 +6543,7 @@ GetLogSessStartLine() # Input: # $1 = how many sessions back? (optional) default = 1 - local -i linenum=$(($($GREP_CMD -n 'SCRIPT:.*started:' "$SESS_TAIL_PATHFILE" | $TAIL_CMD -n${1:-1} | $HEAD_CMD -n1 | cut -d':' -f1)-1)) + local -i linenum=$(($($GREP_CMD -n 'SCRIPT:.*started:' "$SESS_TAIL_PATHFILE" | $TAIL_CMD -n${1:-1} | head -n1 | cut -d':' -f1)-1)) [[ $linenum -lt 1 ]] && linenum=1 echo -n "$linenum" @@ -8446,9 +8444,9 @@ HardwareGetCPUInfo() # BusyBox 1.01 doesn't support `-m` option for `grep`, so extract first mention the hard-way with `head`. if $GREP_CMD -q '^model name' /proc/cpuinfo; then - $GREP_CMD '^model name' /proc/cpuinfo | $HEAD_CMD -n1 | $SED_CMD 's|^.*: ||' | tr -s ' ' + $GREP_CMD '^model name' /proc/cpuinfo | head -n1 | $SED_CMD 's|^.*: ||' | tr -s ' ' elif $GREP_CMD -q '^Processor name' /proc/cpuinfo; then - $GREP_CMD '^Processor name' /proc/cpuinfo | $HEAD_CMD -n1 | $SED_CMD 's|^.*: ||' | tr -s ' ' + $GREP_CMD '^Processor name' /proc/cpuinfo | head -n1 | $SED_CMD 's|^.*: ||' | tr -s ' ' else printf unknown @@ -8478,7 +8476,7 @@ OsGetKernelPageSize() # Accuracy of this method is uncertain. - $GREP_CMD KernelPageSize /proc/1/smaps | $HEAD_CMD -n1 | cut -f2 -d':' | tr -d ' ' + $GREP_CMD KernelPageSize /proc/1/smaps | head -n1 | cut -f2 -d':' | tr -d ' ' } @@ -8589,7 +8587,7 @@ UserGetTimeInShell() local n=0 - [[ -n ${LOADER_SCRIPT_PPID:-} ]] && n=$($PS_CMD -o pid,etime | $GREP_CMD $LOADER_SCRIPT_PPID | $HEAD_CMD -n1) + [[ -n ${LOADER_SCRIPT_PPID:-} ]] && n=$($PS_CMD -o pid,etime | $GREP_CMD $LOADER_SCRIPT_PPID | head -n1) FormatLongMinutesSecs "${n:6}" diff --git a/workshop/ideas.txt b/workshop/ideas.txt index 8637c8330..fa4d8c4b0 100644 --- a/workshop/ideas.txt +++ b/workshop/ideas.txt @@ -1,3 +1,6 @@ +* Trim elapsed time if zero hours. + - only show minutes and seconds. + * Arg parser should use commas to separate actions & options. * Include QPKG "signed" status in dependencies report? @@ -35,8 +38,6 @@ * Need a maintenance script to remove all but the most-recent QPKG builds. - Should also run a 'git gc --aggressive' afterward. -* Test for bash version and interpreter location? - * Try each user arg as an action (verb). - if not an action, try as a group (noun). - if not a group, then it's unwanted. From 7645aeb3b8f36fb722e49a9cad492b6b8d16136b Mon Sep 17 00:00:00 2001 From: OneCDOnly Date: Mon, 3 Jun 2024 06:24:02 +1000 Subject: [PATCH 02/17] trim elapsed time messages to only used elements --- support/sherpa-manager.source | 24 +++++++++++++++--------- workshop/ideas.txt | 3 --- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/support/sherpa-manager.source b/support/sherpa-manager.source index 4b1d9e756..a6eee62bd 100755 --- a/support/sherpa-manager.source +++ b/support/sherpa-manager.source @@ -195,7 +195,7 @@ ShowResults() DebugInfoMinSepr DebugScript finished "$(FormatNowAsFullDate)" - DebugScript 'elapsed time' "$(FormatSecsToHoursMinutesSecs "$(($(FormatNowAsSeconds)-SCRIPT_STARTSECONDS))")" + DebugScript 'elapsed time' "$(FormatAsSecsToHoursMinutesSecs "$(($(FormatNowAsSeconds)-SCRIPT_STARTSECONDS))")" DebugInfoMajSepr [[ $title_shown = true ]] && Display # Final on-screen linespace. @@ -3810,7 +3810,7 @@ _DirSizeMonitor_() if [[ $stall_seconds -lt 60 ]]; then stall_msg+="$stall_seconds seconds" else - stall_msg+=$(FormatSecsToHoursMinutesSecs "$stall_seconds") + stall_msg+=$(FormatAsSecsToHoursMinutesSecs "$stall_seconds") fi # Add a suggestion to cancel if download has stalled for too-long. @@ -8578,7 +8578,7 @@ OsGetUptime() local n=$(< /proc/uptime) - FormatSecsToHoursMinutesSecs "${n%%.*}" + FormatAsSecsToHoursMinutesSecs "${n%%.*}" } @@ -8589,7 +8589,7 @@ UserGetTimeInShell() [[ -n ${LOADER_SCRIPT_PPID:-} ]] && n=$($PS_CMD -o pid,etime | $GREP_CMD $LOADER_SCRIPT_PPID | head -n1) - FormatLongMinutesSecs "${n:6}" + FormatAsLongMinutesSecs "${n:6}" } @@ -12594,7 +12594,7 @@ FormatSecondsAsDuration() if [[ ${1:-0} -lt 30 ]]; then echo -n "$(FormatAsThous "${1:-0}")s" | $TAIL_CMD -n1 # Prevent "broken pipe" error: https://superuser.com/a/642932 else - FormatSecsToHoursMinutesSecs "$1" + FormatAsSecsToHoursMinutesSecs "$1" fi } @@ -12608,7 +12608,7 @@ FormatMillisecondsAsDuration() if [[ ${1:-0} -lt 30000 ]]; then echo -n "$(FormatAsThous "${1:-0}")ms" | $TAIL_CMD -n1 # Prevent "broken pipe" error: https://superuser.com/a/642932 else - FormatSecsToHoursMinutesSecs "$(($1/1000))" + FormatAsSecsToHoursMinutesSecs "$(($1/1000))" fi } @@ -13380,7 +13380,7 @@ FormatMillisecsToMinutesSecs() } 2> /dev/null -FormatSecsToHoursMinutesSecs() +FormatAsSecsToHoursMinutesSecs() { # http://stackoverflow.com/questions/12199631/convert-seconds-to-hours-minutes-seconds @@ -13392,11 +13392,17 @@ FormatSecsToHoursMinutesSecs() ((m=(${1:-0}%3600)/60)) ((s=${1:-0}%60)) - printf '%01dh:%02dm:%02ds\n' "$h" "$m" "$s" + if [[ $h -gt 0 ]]; then + printf '%01dh:%02dm:%02ds\n' "$h" "$m" "$s" + elif [[ $m -gt 0 ]]; then + printf '%01dm:%02ds\n' "$m" "$s" + else + printf '%01ds\n' "$s" + fi } 2> /dev/null -FormatLongMinutesSecs() +FormatAsLongMinutesSecs() { # Input: diff --git a/workshop/ideas.txt b/workshop/ideas.txt index fa4d8c4b0..2a82ae614 100644 --- a/workshop/ideas.txt +++ b/workshop/ideas.txt @@ -1,6 +1,3 @@ -* Trim elapsed time if zero hours. - - only show minutes and seconds. - * Arg parser should use commas to separate actions & options. * Include QPKG "signed" status in dependencies report? From 523b2ee163799df252395915f21da5db41c4790e Mon Sep 17 00:00:00 2001 From: OneCDOnly Date: Mon, 3 Jun 2024 06:39:45 +1000 Subject: [PATCH 03/17] improve time format --- support/sherpa-manager.source | 146 +++++++++++++++++----------------- 1 file changed, 73 insertions(+), 73 deletions(-) diff --git a/support/sherpa-manager.source b/support/sherpa-manager.source index a6eee62bd..f919b5fdc 100755 --- a/support/sherpa-manager.source +++ b/support/sherpa-manager.source @@ -195,7 +195,7 @@ ShowResults() DebugInfoMinSepr DebugScript finished "$(FormatNowAsFullDate)" - DebugScript 'elapsed time' "$(FormatAsSecsToHoursMinutesSecs "$(($(FormatNowAsSeconds)-SCRIPT_STARTSECONDS))")" + DebugScript 'elapsed time' "$(FormatSecondsAsHoursMinutesSeconds "$(($(FormatNowAsSeconds)-SCRIPT_STARTSECONDS))")" DebugInfoMajSepr [[ $title_shown = true ]] && Display # Final on-screen linespace. @@ -3810,7 +3810,7 @@ _DirSizeMonitor_() if [[ $stall_seconds -lt 60 ]]; then stall_msg+="$stall_seconds seconds" else - stall_msg+=$(FormatAsSecsToHoursMinutesSecs "$stall_seconds") + stall_msg+=$(FormatSecondsAsHoursMinutesSeconds "$stall_seconds") fi # Add a suggestion to cancel if download has stalled for too-long. @@ -5744,7 +5744,7 @@ DisplayAsIndentActionResultDurationReason() action=$1 esac - [[ -n ${3:-} ]] && duration=$(FormatMillisecsToMinutesSecs "$3") + [[ -n ${3:-} ]] && duration=$(FormatMillisecondsAsMinutesSeconds "$3") printf "%${ACTION_RESULT_INDENT}s" '' @@ -8578,7 +8578,7 @@ OsGetUptime() local n=$(< /proc/uptime) - FormatAsSecsToHoursMinutesSecs "${n%%.*}" + FormatSecondsAsHoursMinutesSeconds "${n%%.*}" } @@ -12551,7 +12551,7 @@ FormatSecondsAsTime() # Output: # stdout = time component only. - /bin/date -d @"$1" +%r | tr -s ' ' + /bin/date -d @"$1" '+%-H:%M:%S %p' | tr -s ' ' } @@ -12594,7 +12594,7 @@ FormatSecondsAsDuration() if [[ ${1:-0} -lt 30 ]]; then echo -n "$(FormatAsThous "${1:-0}")s" | $TAIL_CMD -n1 # Prevent "broken pipe" error: https://superuser.com/a/642932 else - FormatAsSecsToHoursMinutesSecs "$1" + FormatSecondsAsHoursMinutesSeconds "$1" fi } @@ -12608,11 +12608,77 @@ FormatMillisecondsAsDuration() if [[ ${1:-0} -lt 30000 ]]; then echo -n "$(FormatAsThous "${1:-0}")ms" | $TAIL_CMD -n1 # Prevent "broken pipe" error: https://superuser.com/a/642932 else - FormatAsSecsToHoursMinutesSecs "$(($1/1000))" + FormatSecondsAsHoursMinutesSeconds "$(($1/1000))" fi } +FormatMillisecondsAsMinutesSeconds() + { + + # http://stackoverflow.com/questions/12199631/convert-seconds-to-hours-minutes-seconds + + # Input: + # $1 = a time in milliseconds to convert to `S seconds` or `Mm:SSs`. + + local seconds=$((${1:-0}/1000)) + ((m=(seconds%3600)/60)) + ((s=seconds%60)) + + [[ $s -eq 0 ]] && s=1 + + if [[ $m -eq 0 ]]; then + if [[ $s -eq 1 ]]; then + printf '%d second' "$s" + else + printf '%d seconds' "$s" + fi + else + printf '%dm:%02ds' "$m" "$s" + fi + + } 2> /dev/null + +FormatSecondsAsHoursMinutesSeconds() + { + + # http://stackoverflow.com/questions/12199631/convert-seconds-to-hours-minutes-seconds + + # Input: + # $1 = a time in seconds to convert to `HHh:MMm:SSs`. + + ((h=${1:-0}/3600)) + ((m=(${1:-0}%3600)/60)) + ((s=${1:-0}%60)) + + if [[ $h -gt 0 ]]; then + printf '%01dh:%02dm:%02ds\n' "$h" "$m" "$s" + elif [[ $m -gt 0 ]]; then + printf '%01dm:%02ds\n' "$m" "$s" + else + printf '%01ds\n' "$s" + fi + + } 2> /dev/null + +FormatAsLongMinutesSecs() + { + + # Input: + # $1 = a time in long minutes and seconds to convert to `MMMm:SSs`. + + # separate minutes from seconds + local m=${1%%:*} + local s=${1#*:} + + # remove leading whitespace + m=${m##* } + s=${s##* } + + printf '%01dm:%02ds\n' "$((10#$m))" "$((10#$s))" + + } 2> /dev/null + DebugAsFuncEn() { @@ -13354,72 +13420,6 @@ ShowKeystrokes() } -FormatMillisecsToMinutesSecs() - { - - # http://stackoverflow.com/questions/12199631/convert-seconds-to-hours-minutes-seconds - - # Input: - # $1 = a time in milliseconds to convert to `S seconds` or `Mm:SSs`. - - local seconds=$((${1:-0}/1000)) - ((m=(seconds%3600)/60)) - ((s=seconds%60)) - - [[ $s -eq 0 ]] && s=1 - - if [[ $m -eq 0 ]]; then - if [[ $s -eq 1 ]]; then - printf '%d second' "$s" - else - printf '%d seconds' "$s" - fi - else - printf '%dm:%02ds' "$m" "$s" - fi - - } 2> /dev/null - -FormatAsSecsToHoursMinutesSecs() - { - - # http://stackoverflow.com/questions/12199631/convert-seconds-to-hours-minutes-seconds - - # Input: - # $1 = a time in seconds to convert to `HHh:MMm:SSs`. - - ((h=${1:-0}/3600)) - ((m=(${1:-0}%3600)/60)) - ((s=${1:-0}%60)) - - if [[ $h -gt 0 ]]; then - printf '%01dh:%02dm:%02ds\n' "$h" "$m" "$s" - elif [[ $m -gt 0 ]]; then - printf '%01dm:%02ds\n' "$m" "$s" - else - printf '%01ds\n' "$s" - fi - - } 2> /dev/null - -FormatAsLongMinutesSecs() - { - - # Input: - # $1 = a time in long minutes and seconds to convert to `MMMm:SSs`. - - # separate minutes from seconds - local m=${1%%:*} - local s=${1#*:} - - # remove leading whitespace - m=${m##* } - s=${s##* } - - printf '%01dm:%02ds\n' "$((10#$m))" "$((10#$s))" - - } 2> /dev/null - sleep() { From 133e042e74afc22d14bb0e83c81795f8d69d0264 Mon Sep 17 00:00:00 2001 From: OneCDOnly Date: Mon, 3 Jun 2024 07:44:28 +1000 Subject: [PATCH 04/17] pluralise action result messages correctly --- support/sherpa-manager.source | 61 ++++++++++++++++++++++++----------- workshop/issues.txt | 3 -- 2 files changed, 42 insertions(+), 22 deletions(-) diff --git a/support/sherpa-manager.source b/support/sherpa-manager.source index f919b5fdc..c3dffc716 100755 --- a/support/sherpa-manager.source +++ b/support/sherpa-manager.source @@ -6060,7 +6060,7 @@ ShowReportAllActionResults() if [[ $show_action_results_ok = true || $show_action_results_skipped = true || $show_action_results_failed = true || $show_action_results_zero = true ]]; then { - DisplayAsHelpTitle "action$(Pluralise "$e") started @ $(FormatSecondsAsTime "$a"), ended @ $(FormatSecondsAsTime "$b"), elapsed = $(FormatSecondsAsDuration "$(CalcSecondsDiff "$a" "$b")")" + DisplayAsHelpTitle "package action$(Pluralise "$e") started @ $(FormatSecondsAsTime "$a"), ended @ $(FormatSecondsAsTime "$b"), elapsed = $(FormatSecondsAsDuration "$(CalcSecondsDiff "$a" "$b")")" [[ $show_action_results_ok = true ]] && ShowReportActionResults ok [[ $show_action_results_skipped = true ]] && ShowReportActionResults skipped @@ -6086,40 +6086,63 @@ ShowReportActionResults() # $1 = `ok`, `skipped`, `failed` local action='' + local -i count=0 local -i datetime=0 local -i duration=0 - local found=false local package_name='' local package_type='' - local plural='these actions' local -i quantity=0 local reason='' local result='' - local singular='this action' if [[ -e $SESS_ACTION_RESULTS_PATHFILE ]]; then + # Obtain count of same results. Need to know if action applied to one QPKG or many. + while IFS='|' read -r datetime action quantity package_name package_type result duration reason; do if [[ $result = "$1" ]] || [[ $1 = skipped && ($result = 'skipped-ok' || $result = 'skipped-error' || $result = 'skipped-abort') ]]; then [[ $action = status && $useropt_show_all_results = false ]] && continue # Don't need to see the result of `status` checks unless a 'results' report has been requested. - - case $result in - ok) - [[ $found = false ]] && DisplayAsHelpTitle "$plural completed $(TextBrightGreen OK):" - ;; - skipped*) - [[ $found = false ]] && DisplayAsHelpTitle "$plural were $(TextBrightOrange skipped) (and why):" - ;; - failed) - [[ $found = false ]] && DisplayAsHelpTitle "$plural $(TextBrightRed failed) (and why):" - esac - - ShowAsActionLogDetail "$datetime" "$package_name" "$action" "$result" "$duration" "$reason" "$package_type" "$quantity" - found=true + ((count++)) + [[ $count -gt 1 ]] && break # Two-or-more of the same action means must pluralise messages. fi done < "$SESS_ACTION_RESULTS_PATHFILE" + + # Display action titles and QPKGs. + + if [[ $count -eq 1 ]]; then + case $1 in + ok) + DisplayAsHelpTitle "this package action completed $(TextBrightGreen OK):" + ;; + skipped) + DisplayAsHelpTitle "this package action was $(TextBrightOrange skipped) (and why):" + ;; + failed) + DisplayAsHelpTitle "this package action $(TextBrightRed failed) (and why):" + esac + elif [[ $count -gt 1 ]]; then + case $1 in + ok) + DisplayAsHelpTitle "these package actions completed $(TextBrightGreen OK):" + ;; + skipped) + DisplayAsHelpTitle "these package actions were $(TextBrightOrange skipped) (and why):" + ;; + failed) + DisplayAsHelpTitle "these package actions $(TextBrightRed failed) (and why):" + esac + fi + + if [[ $count -ge 1 ]]; then + while IFS='|' read -r datetime action quantity package_name package_type result duration reason; do + if [[ $result = "$1" ]] || [[ $1 = skipped && ($result = 'skipped-ok' || $result = 'skipped-error' || $result = 'skipped-abort') ]]; then + [[ $action = status && $useropt_show_all_results = false ]] && continue # Don't need to see the result of `status` checks unless a 'results' report has been requested. + ShowAsActionLogDetail "$datetime" "$package_name" "$action" "$result" "$duration" "$reason" "$package_type" "$quantity" + fi + done < "$SESS_ACTION_RESULTS_PATHFILE" + fi fi - if [[ $found = false ]]; then + if [[ $count -eq 0 ]]; then case $1 in ok) DisplayAsHelpTitle "no package actions completed $(TextBrightGreen OK)." diff --git a/workshop/issues.txt b/workshop/issues.txt index b69333ce4..fda59413e 100644 --- a/workshop/issues.txt +++ b/workshop/issues.txt @@ -53,9 +53,6 @@ Observed issues: * Only install IPKs for QPKGs that download successfully (or are already downloaded). - ... and the installed ones, as-happens now. - * Results report wording should account for single QPKG actions. - - Don't pluralise "package actions" when there was only one. - * 'sherpa' and 'opkg' were not available after installing Entware. - Entware installation may be corrupt. - But this shouldn't affect the sherpa command `/usr/sbin/sherpa`. From 034304fac7f8feb4c725120e340f2f4c7123f0cf Mon Sep 17 00:00:00 2001 From: OneCDOnly Date: Mon, 3 Jun 2024 10:16:23 +1000 Subject: [PATCH 05/17] show correct actions finish time in results report --- support/sherpa-manager.source | 68 ++++++++++++++++++++++++++++------- workshop/issues.txt | 6 ++-- 2 files changed, 58 insertions(+), 16 deletions(-) diff --git a/support/sherpa-manager.source b/support/sherpa-manager.source index c3dffc716..7806f660f 100755 --- a/support/sherpa-manager.source +++ b/support/sherpa-manager.source @@ -6055,12 +6055,16 @@ ShowReportAllActionResults() fi done < "$SESS_ACTION_RESULTS_PATHFILE" - [[ $c -gt 0 ]] && b=$((c+(d/1000)+1)) # Use last non-zero iteration of $datetime as beginning of last action, then add duration to it. + a=$(FormatMillisecondsAsSeconds "$a") + c=$(FormatMillisecondsAsSeconds "$c") + d=$(FormatMillisecondsAsSeconds "$d") + + [[ $c -gt 0 ]] && b=$((c+d+1)) # Use last non-zero iteration of $datetime as beginning of last action, then add duration to it. if [[ $show_action_results_ok = true || $show_action_results_skipped = true || $show_action_results_failed = true || $show_action_results_zero = true ]]; then { - DisplayAsHelpTitle "package action$(Pluralise "$e") started @ $(FormatSecondsAsTime "$a"), ended @ $(FormatSecondsAsTime "$b"), elapsed = $(FormatSecondsAsDuration "$(CalcSecondsDiff "$a" "$b")")" + DisplayAsHelpTitle "package action$(Pluralise "$e") started @ $(FormatSecondsAsTime "$a"), ended @ $(FormatSecondsAsTime "$b"), elapsed = $(FormatSecondsAsDuration "$(CalcTimeDiff "$a" "$b")")" [[ $show_action_results_ok = true ]] && ShowReportActionResults ok [[ $show_action_results_skipped = true ]] && ShowReportActionResults skipped @@ -9082,7 +9086,8 @@ SaveActionResultToLog() local -r CLEAN_ACTION=${ACTION//\"/} local -r RESULT=${5:?${FUNCNAME[0]}'()': undefined result} local -r REASON=${6:-} - local -r DURATION=$(CalcMillisecondsDiff "${!var_safe_name}" "$(FormatNowAsNanoseconds)") + local -r STARTTIME=$(FormatNanosecondsAsMilliseconds "${!var_safe_name}") + local -r DURATION=$(CalcTimeDiff "$STARTTIME" "$(FormatNowAsMilliseconds)") local -r ACTION_TIMES_PATHFILE=$ACTION_TIMES_PATH/$CLEAN_ACTION.milliseconds if [[ $2 = undefined ]]; then @@ -9092,7 +9097,8 @@ SaveActionResultToLog() fi # Write new action results entry. - echo "$(FormatNowAsSeconds)|$ACTION|$QTY|$qpkg_name|$PACKAGE_TYPE|$RESULT|$DURATION|$REASON" >> "$SESS_ACTION_RESULTS_PATHFILE" + + echo "$STARTTIME|$ACTION|$QTY|$qpkg_name|$PACKAGE_TYPE|$RESULT|$DURATION|$REASON" >> "$SESS_ACTION_RESULTS_PATHFILE" # Remove previous action duration entry if one exists. @@ -12471,7 +12477,7 @@ FuncExit() local var_safe_name=${VAR_NAME//[.-]/_} var_safe_name=${var_safe_name//:/_} - DebugAsFuncEx "${1:-0}" "$(FormatMillisecondsAsDuration "$(CalcMillisecondsDiff "${!var_safe_name}" "$(FormatNowAsNanoseconds)")")" + DebugAsFuncEx "${1:-0}" "$(FormatMillisecondsAsDuration "$(CalcMillisecondsDiffFromNanoseconds "${!var_safe_name}" "$(FormatNowAsNanoseconds)")")" return ${1:-0} @@ -12508,7 +12514,7 @@ FuncForkExit() var_safe_name=${var_safe_name//:/_} SendActionStatus ex - DebugAsFuncEx "${1:-0}" "$(FormatMillisecondsAsDuration "$(CalcMillisecondsDiff "${!var_safe_name}" "$(FormatNowAsNanoseconds)")")" + DebugAsFuncEx "${1:-0}" "$(FormatMillisecondsAsDuration "$(CalcMillisecondsDiffFromNanoseconds "${!var_safe_name}" "$(FormatNowAsNanoseconds)")")" if [[ -n $sess_active_pathfile && -e $sess_active_pathfile ]]; then if [[ -s $sess_active_pathfile ]]; then @@ -12524,21 +12530,21 @@ FuncForkExit() } -CalcSecondsDiff() +CalcTimeDiff() { # Input: - # $1 = start time in seconds. - # $2 = end time in seconds. + # $1 = start time in seconds/milliseconds. + # $2 = end time in seconds/milliseconds. # Output: - # stdout = difference in seconds. + # stdout = difference in seconds/milliseconds. echo -n "$(($2-$1))" } -CalcMillisecondsDiff() +CalcMillisecondsDiffFromNanoseconds() { # Input: @@ -12548,7 +12554,7 @@ CalcMillisecondsDiff() # Output: # stdout = difference in milliseconds. - echo -n "$((($2-$1)/1000000))" + echo -n "$((($2-$1)/(10**6)))" } @@ -12578,6 +12584,32 @@ FormatSecondsAsTime() } +FormatMillisecondsAsSeconds() + { + + # Input: + # $1 = epoch milliseconds. + + # Output: + # stdout = epoch seconds. + + echo -n "$(($1/(10**3)))" + + } + +FormatNanosecondsAsMilliseconds() + { + + # Input: + # $1 = epoch nanoseconds. + + # Output: + # stdout = epoch milliseconds. + + echo -n "$(($1/(10**6)))" + + } + FormatNowAsFullDate() { @@ -12598,6 +12630,16 @@ FormatNowAsSeconds() } +FormatNowAsMilliseconds() + { + + # Output: + # stdout = epoch milliseconds. + + FormatNanosecondsAsMilliseconds "$(FormatNowAsNanoseconds)" + + } + FormatNowAsNanoseconds() { @@ -12631,7 +12673,7 @@ FormatMillisecondsAsDuration() if [[ ${1:-0} -lt 30000 ]]; then echo -n "$(FormatAsThous "${1:-0}")ms" | $TAIL_CMD -n1 # Prevent "broken pipe" error: https://superuser.com/a/642932 else - FormatSecondsAsHoursMinutesSeconds "$(($1/1000))" + FormatSecondsAsHoursMinutesSeconds "$(FormatMillisecondsAsSeconds "$1")" fi } diff --git a/workshop/issues.txt b/workshop/issues.txt index fda59413e..66114143a 100644 --- a/workshop/issues.txt +++ b/workshop/issues.txt @@ -1,5 +1,8 @@ Observed issues: + * Near the end of installing IPKs, monitored download path can remain at non-zero size while packages complete installation. + - Include a separate progress message when dir size shrinks? Maybe force increase to "100%" and stop monitoring? + * When attempting to view file versions with-and-without correct syntax fails in several ways: ------------------------------------------------------------------------------------------------------------------------- [~] # sherpa list versions @@ -78,9 +81,6 @@ Observed issues: * Upgrading QPKGs via sherpa didn't update App Center icons 'live'. - * Near the end of installing IPKs, monitored download path can remain at non-zero size while packages complete installation. - - Include a separate progress message when dir size shrinks? Maybe force increase to "100%" and stop monitoring? - * QPKG version sort is not correctly sorting version numbers followed by an alpha as later than non-alpha. Reported issues: From 9adb66dda78d07322037b0983580bc490a9e663f Mon Sep 17 00:00:00 2001 From: OneCDOnly Date: Mon, 3 Jun 2024 10:18:32 +1000 Subject: [PATCH 06/17] [update] management archives --- objects.tar.gz | Bin 45003 -> 45005 bytes sherpa-manager.tar.gz | Bin 50743 -> 50859 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/objects.tar.gz b/objects.tar.gz index 1286d0f43887068bb811e0ac9627cab880fb3b43..fe872ba440769d938215c19773807e7ea8337a2a 100644 GIT binary patch delta 41873 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 From 2668a288c99291ff620780dba279cfd8743c338a Mon Sep 17 00:00:00 2001 From: OneCDOnly Date: Mon, 3 Jun 2024 10:31:02 +1000 Subject: [PATCH 07/17] allow larger integers for millisecond time vars --- support/sherpa-manager.source | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/support/sherpa-manager.source b/support/sherpa-manager.source index 7806f660f..7efc27a42 100755 --- a/support/sherpa-manager.source +++ b/support/sherpa-manager.source @@ -6025,11 +6025,11 @@ Help.Lists:Show() ShowReportAllActionResults() { - local -i a=0 - local -i b=0 - local -i c=0 + local a=0 + local b=0 + local c=0 local -i d=0 - local -i e=0 + local e=0 local action='' local -i datetime=0 local -i duration=0 @@ -6049,22 +6049,22 @@ ShowReportAllActionResults() while IFS='|' read -r datetime action quantity package_name package_type result duration reason; do if [[ $datetime -gt 0 && $duration -gt 0 ]]; then [[ $a -eq 0 ]] && a=$datetime # Only use first entry as start time. - c=$datetime - d=$duration - ((e++)) + b=$datetime + c=$duration + ((d++)) fi done < "$SESS_ACTION_RESULTS_PATHFILE" a=$(FormatMillisecondsAsSeconds "$a") + b=$(FormatMillisecondsAsSeconds "$b") c=$(FormatMillisecondsAsSeconds "$c") - d=$(FormatMillisecondsAsSeconds "$d") - [[ $c -gt 0 ]] && b=$((c+d+1)) # Use last non-zero iteration of $datetime as beginning of last action, then add duration to it. + [[ $b -gt 0 ]] && e=$((b+c+1)) # Use last non-zero iteration of $datetime as beginning of last action, then add duration to it. if [[ $show_action_results_ok = true || $show_action_results_skipped = true || $show_action_results_failed = true || $show_action_results_zero = true ]]; then { - DisplayAsHelpTitle "package action$(Pluralise "$e") started @ $(FormatSecondsAsTime "$a"), ended @ $(FormatSecondsAsTime "$b"), elapsed = $(FormatSecondsAsDuration "$(CalcTimeDiff "$a" "$b")")" + DisplayAsHelpTitle "package action$(Pluralise "$d") started @ $(FormatSecondsAsTime "$a"), ended @ $(FormatSecondsAsTime "$e"), elapsed = $(FormatSecondsAsDuration "$(CalcTimeDiff "$a" "$e")")" [[ $show_action_results_ok = true ]] && ShowReportActionResults ok [[ $show_action_results_skipped = true ]] && ShowReportActionResults skipped @@ -6091,8 +6091,8 @@ ShowReportActionResults() local action='' local -i count=0 - local -i datetime=0 - local -i duration=0 + local datetime=0 + local duration=0 local package_name='' local package_type='' local -i quantity=0 From 6e2c9bfe85e09e85524cb91ea075157a71349bf2 Mon Sep 17 00:00:00 2001 From: OneCDOnly Date: Mon, 3 Jun 2024 11:52:17 +1000 Subject: [PATCH 08/17] reinstate forced integer assignment - these won't exceed max allowable (64b signed) anyway. --- support/sherpa-manager.source | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/support/sherpa-manager.source b/support/sherpa-manager.source index 7efc27a42..ab68728cf 100755 --- a/support/sherpa-manager.source +++ b/support/sherpa-manager.source @@ -6025,11 +6025,11 @@ Help.Lists:Show() ShowReportAllActionResults() { - local a=0 - local b=0 - local c=0 + local -i a=0 + local -i b=0 + local -i c=0 local -i d=0 - local e=0 + local -i e=0 local action='' local -i datetime=0 local -i duration=0 @@ -6091,8 +6091,8 @@ ShowReportActionResults() local action='' local -i count=0 - local datetime=0 - local duration=0 + local -i datetime=0 + local -i duration=0 local package_name='' local package_type='' local -i quantity=0 @@ -7533,7 +7533,7 @@ ShowReportBackups() FuncInit local epoch_time=0 # Allow float as seconds have a fractional component. - local file_bytes=0 + local -i file_bytes=0 local file_date='' local file_name='' local file_time='' @@ -8612,7 +8612,7 @@ OsGetUptime() UserGetTimeInShell() { - local n=0 + local -i n=0 [[ -n ${LOADER_SCRIPT_PPID:-} ]] && n=$($PS_CMD -o pid,etime | $GREP_CMD $LOADER_SCRIPT_PPID | head -n1) From 90afe33bc21caa34883f815a8f8be15b5f1b1241 Mon Sep 17 00:00:00 2001 From: OneCDOnly Date: Mon, 3 Jun 2024 12:33:17 +1000 Subject: [PATCH 09/17] trim some fat off the time converters --- support/sherpa-manager.source | 148 ++++++++++++++-------------------- workshop/ideas.txt | 4 +- 2 files changed, 62 insertions(+), 90 deletions(-) diff --git a/support/sherpa-manager.source b/support/sherpa-manager.source index ab68728cf..7c0661bcc 100755 --- a/support/sherpa-manager.source +++ b/support/sherpa-manager.source @@ -5744,7 +5744,7 @@ DisplayAsIndentActionResultDurationReason() action=$1 esac - [[ -n ${3:-} ]] && duration=$(FormatMillisecondsAsMinutesSeconds "$3") + [[ -n ${3:-} ]] && duration=$(FormatMillisecondsAsHoursMinutesSeconds "$3") printf "%${ACTION_RESULT_INDENT}s" '' @@ -6064,7 +6064,7 @@ ShowReportAllActionResults() if [[ $show_action_results_ok = true || $show_action_results_skipped = true || $show_action_results_failed = true || $show_action_results_zero = true ]]; then { - DisplayAsHelpTitle "package action$(Pluralise "$d") started @ $(FormatSecondsAsTime "$a"), ended @ $(FormatSecondsAsTime "$e"), elapsed = $(FormatSecondsAsDuration "$(CalcTimeDiff "$a" "$e")")" + DisplayAsHelpTitle "package action$(Pluralise "$d") started @ $(FormatSecondsAsTime "$a"), ended @ $(FormatSecondsAsTime "$e"), elapsed = $(FormatSecondsAsHoursMinutesSeconds "$(CalcTimeDiff "$a" "$e")")" [[ $show_action_results_ok = true ]] && ShowReportActionResults ok [[ $show_action_results_skipped = true ]] && ShowReportActionResults skipped @@ -12542,7 +12542,7 @@ CalcTimeDiff() echo -n "$(($2-$1))" - } + } 2> /dev/null CalcMillisecondsDiffFromNanoseconds() { @@ -12556,7 +12556,7 @@ CalcMillisecondsDiffFromNanoseconds() echo -n "$((($2-$1)/(10**6)))" - } + } 2> /dev/null FormatSecondsAsFullDate() { @@ -12569,7 +12569,7 @@ FormatSecondsAsFullDate() /bin/date -d @"$1" +%c | tr -s ' ' - } + } 2> /dev/null FormatSecondsAsTime() { @@ -12582,7 +12582,33 @@ FormatSecondsAsTime() /bin/date -d @"$1" '+%-H:%M:%S %p' | tr -s ' ' - } + } 2> /dev/null + +FormatSecondsAsHoursMinutesSeconds() + { + + # http://stackoverflow.com/questions/12199631/convert-seconds-to-hours-minutes-seconds + + # Input: + # $1 = a time in seconds to convert to `HHh:MMm:SSs` or, if less than 1 minute, to `S seconds`. + + ((h=${1:-0}/3600)) + ((m=(${1:-0}%3600)/60)) + ((s=${1:-0}%60)) + + if [[ $h -gt 0 ]]; then + printf '%01dh:%02dm:%02ds' "$h" "$m" "$s" + elif [[ $m -gt 0 ]]; then + printf '%01dm:%02ds' "$m" "$s" + else + if [[ $s -eq 1 ]]; then + printf '%d second' "$s" + else + printf '%d seconds' "$s" + fi + fi + + } 2> /dev/null FormatMillisecondsAsSeconds() { @@ -12595,7 +12621,31 @@ FormatMillisecondsAsSeconds() echo -n "$(($1/(10**3)))" - } + } 2> /dev/null + +FormatMillisecondsAsHoursMinutesSeconds() + { + + # Input: + # $1 = a time in milliseconds to convert to `S seconds` or `Mm:SSs`. + + FormatSecondsAsHoursMinutesSeconds "$((${1:-0}/1000))" + + } 2> /dev/null + +FormatMillisecondsAsDuration() + { + + # Input: + # $1 = duration in milliseconds. + + if [[ ${1:-0} -lt 30000 ]]; then + echo -n "$(FormatAsThous "${1:-0}")ms" | $TAIL_CMD -n1 # Prevent "broken pipe" error: https://superuser.com/a/642932 + else + FormatSecondsAsHoursMinutesSeconds "$(FormatMillisecondsAsSeconds "$1")" + fi + + } 2> /dev/null FormatNanosecondsAsMilliseconds() { @@ -12608,7 +12658,7 @@ FormatNanosecondsAsMilliseconds() echo -n "$(($1/(10**6)))" - } + } 2> /dev/null FormatNowAsFullDate() { @@ -12618,7 +12668,7 @@ FormatNowAsFullDate() /bin/date +%c | tr -s ' ' - } + } 2> /dev/null FormatNowAsSeconds() { @@ -12628,7 +12678,7 @@ FormatNowAsSeconds() /bin/date +%s - } + } 2> /dev/null FormatNowAsMilliseconds() { @@ -12638,7 +12688,7 @@ FormatNowAsMilliseconds() FormatNanosecondsAsMilliseconds "$(FormatNowAsNanoseconds)" - } + } 2> /dev/null FormatNowAsNanoseconds() { @@ -12648,82 +12698,6 @@ FormatNowAsNanoseconds() /bin/date +%s%N - } - -FormatSecondsAsDuration() - { - - # Input: - # $1 = duration in seconds. - - if [[ ${1:-0} -lt 30 ]]; then - echo -n "$(FormatAsThous "${1:-0}")s" | $TAIL_CMD -n1 # Prevent "broken pipe" error: https://superuser.com/a/642932 - else - FormatSecondsAsHoursMinutesSeconds "$1" - fi - - } - -FormatMillisecondsAsDuration() - { - - # Input: - # $1 = duration in milliseconds. - - if [[ ${1:-0} -lt 30000 ]]; then - echo -n "$(FormatAsThous "${1:-0}")ms" | $TAIL_CMD -n1 # Prevent "broken pipe" error: https://superuser.com/a/642932 - else - FormatSecondsAsHoursMinutesSeconds "$(FormatMillisecondsAsSeconds "$1")" - fi - - } - -FormatMillisecondsAsMinutesSeconds() - { - - # http://stackoverflow.com/questions/12199631/convert-seconds-to-hours-minutes-seconds - - # Input: - # $1 = a time in milliseconds to convert to `S seconds` or `Mm:SSs`. - - local seconds=$((${1:-0}/1000)) - ((m=(seconds%3600)/60)) - ((s=seconds%60)) - - [[ $s -eq 0 ]] && s=1 - - if [[ $m -eq 0 ]]; then - if [[ $s -eq 1 ]]; then - printf '%d second' "$s" - else - printf '%d seconds' "$s" - fi - else - printf '%dm:%02ds' "$m" "$s" - fi - - } 2> /dev/null - -FormatSecondsAsHoursMinutesSeconds() - { - - # http://stackoverflow.com/questions/12199631/convert-seconds-to-hours-minutes-seconds - - # Input: - # $1 = a time in seconds to convert to `HHh:MMm:SSs`. - - ((h=${1:-0}/3600)) - ((m=(${1:-0}%3600)/60)) - ((s=${1:-0}%60)) - - if [[ $h -gt 0 ]]; then - printf '%01dh:%02dm:%02ds\n' "$h" "$m" "$s" - elif [[ $m -gt 0 ]]; then - printf '%01dm:%02ds\n' "$m" "$s" - else - printf '%01ds\n' "$s" - fi - } 2> /dev/null FormatAsLongMinutesSecs() diff --git a/workshop/ideas.txt b/workshop/ideas.txt index 2a82ae614..eb1925562 100644 --- a/workshop/ideas.txt +++ b/workshop/ideas.txt @@ -1,4 +1,4 @@ -* Arg parser should use commas to separate actions & options. +* Arg parser should use commas to separate actions & options? * Include QPKG "signed" status in dependencies report? @@ -77,8 +77,6 @@ Platform = ARM_AL ------------------------------------------------------------------------------------------------------------------------- -* Show results report in file viewport. - * QDK looks like it will now write installation scripts that extract to unique paths. - Should now be able to install more than one QPKG simultaneously. https://github.com/qnap-dev/QDK/commit/f1eaf3bf0a9547d449592369e555cdfd6cc3c405 - It will take time for this ability to make its way into all QPKGs, so will need to note which QPKGs can be installed this way. 'packages' file will need an extra field to note this. From c55af2edd0e0af80871e5c978f6eba441656c611 Mon Sep 17 00:00:00 2001 From: OneCDOnly Date: Mon, 3 Jun 2024 13:12:17 +1000 Subject: [PATCH 10/17] rename time functions --- support/sherpa-manager.source | 98 +++++++++++++++++++---------------- 1 file changed, 53 insertions(+), 45 deletions(-) diff --git a/support/sherpa-manager.source b/support/sherpa-manager.source index 7c0661bcc..7d0f27e8e 100755 --- a/support/sherpa-manager.source +++ b/support/sherpa-manager.source @@ -194,8 +194,8 @@ ShowResults() [[ $show_suggest_raise_issue = true ]] && Help.Issue:Show DebugInfoMinSepr - DebugScript finished "$(FormatNowAsFullDate)" - DebugScript 'elapsed time' "$(FormatSecondsAsHoursMinutesSeconds "$(($(FormatNowAsSeconds)-SCRIPT_STARTSECONDS))")" + DebugScript finished "$(ConvertNowToFullDate)" + DebugScript 'elapsed time' "$(ConvertSecondsToDuration "$(($(ConvertNowToSeconds)-SCRIPT_STARTSECONDS))")" DebugInfoMajSepr [[ $title_shown = true ]] && Display # Final on-screen linespace. @@ -211,7 +211,7 @@ DebugLogInit() { DebugInfoMajSepr - DebugScript started "$(FormatSecondsAsFullDate "$SCRIPT_STARTSECONDS")" + DebugScript started "$(ConvertSecondsToFullDate "$SCRIPT_STARTSECONDS")" DebugScript PID "$$" DebugInfoMinSepr DebugInfo 'Markers: (**) detected, (II) information, (WW) warning, (EE) error, (LL) log file, (--) processing,' @@ -3166,7 +3166,7 @@ IsThisFileRecent() # Examine `change` time as this is updated even if file content isn't modified. # https://stackoverflow.com/a/55622661 - [[ -e ${1:-} && $((($(FormatNowAsSeconds)-$(/usr/bin/stat "$1" -c %Z))/60)) -le ${2:-1440} ]] + [[ -e ${1:-} && $((($(ConvertNowToSeconds)-$(/usr/bin/stat "$1" -c %Z))/60)) -le ${2:-1440} ]] } @@ -3810,7 +3810,7 @@ _DirSizeMonitor_() if [[ $stall_seconds -lt 60 ]]; then stall_msg+="$stall_seconds seconds" else - stall_msg+=$(FormatSecondsAsHoursMinutesSeconds "$stall_seconds") + stall_msg+=$(ConvertSecondsToDuration "$stall_seconds") fi # Add a suggestion to cancel if download has stalled for too-long. @@ -5662,13 +5662,13 @@ DisplayAsBacksReportItemLine() case $mode in normal) - epoch_time_msg+=$(FormatSecondsAsFullDate "$epoch_time") + epoch_time_msg+=$(ConvertSecondsToFullDate "$epoch_time") file_bytes_msg+=$file_bytes file_name_msg+=$file_name /bin/touch "$REPORT_FLAGS_PATH"/backup-file-ok ;; highlighted) - epoch_time_msg=$(TextBrightRed "${CHARS_ALERT}$(FormatSecondsAsFullDate "$epoch_time")") + epoch_time_msg=$(TextBrightRed "${CHARS_ALERT}$(ConvertSecondsToFullDate "$epoch_time")") file_bytes_msg+=$(TextBrightRed "$file_bytes") file_name_msg+=$(TextBrightRed "$file_name") /bin/touch "$REPORT_FLAGS_PATH"/backup-file-old @@ -5744,7 +5744,7 @@ DisplayAsIndentActionResultDurationReason() action=$1 esac - [[ -n ${3:-} ]] && duration=$(FormatMillisecondsAsHoursMinutesSeconds "$3") + [[ -n ${3:-} ]] && duration=$(ConvertMillisecondsToDuration "$3") printf "%${ACTION_RESULT_INDENT}s" '' @@ -6055,16 +6055,16 @@ ShowReportAllActionResults() fi done < "$SESS_ACTION_RESULTS_PATHFILE" - a=$(FormatMillisecondsAsSeconds "$a") - b=$(FormatMillisecondsAsSeconds "$b") - c=$(FormatMillisecondsAsSeconds "$c") + a=$(ConvertMillisecondsToSeconds "$a") + b=$(ConvertMillisecondsToSeconds "$b") + c=$(ConvertMillisecondsToSeconds "$c") [[ $b -gt 0 ]] && e=$((b+c+1)) # Use last non-zero iteration of $datetime as beginning of last action, then add duration to it. if [[ $show_action_results_ok = true || $show_action_results_skipped = true || $show_action_results_failed = true || $show_action_results_zero = true ]]; then { - DisplayAsHelpTitle "package action$(Pluralise "$d") started @ $(FormatSecondsAsTime "$a"), ended @ $(FormatSecondsAsTime "$e"), elapsed = $(FormatSecondsAsHoursMinutesSeconds "$(CalcTimeDiff "$a" "$e")")" + DisplayAsHelpTitle "package action$(Pluralise "$d") started @ $(ConvertSecondsToTime "$a"), ended @ $(ConvertSecondsToTime "$e"), elapsed = $(ConvertSecondsToDuration "$(CalcAmountDiff "$a" "$e")")" [[ $show_action_results_ok = true ]] && ShowReportActionResults ok [[ $show_action_results_skipped = true ]] && ShowReportActionResults skipped @@ -6671,7 +6671,7 @@ ShowReportVersions() Display "manager: ${THIS_SCRIPT_VER:-undefined}" Display "loader: ${LOADER_SCRIPT_VER:-undefined}" Display "objects: ${OBJECTS_VER:-undefined}" - Display "packages: ${PACKAGES_EPOCH}$([[ $PACKAGES_EPOCH != undefined ]] && echo -n " ($(FormatSecondsAsFullDate "$PACKAGES_EPOCH"))")" + Display "packages: ${PACKAGES_EPOCH}$([[ $PACKAGES_EPOCH != undefined ]] && echo -n " ($(ConvertSecondsToFullDate "$PACKAGES_EPOCH"))")" return 0 @@ -8605,7 +8605,7 @@ OsGetUptime() local n=$(< /proc/uptime) - FormatSecondsAsHoursMinutesSeconds "${n%%.*}" + ConvertSecondsToDuration "${n%%.*}" } @@ -9086,8 +9086,8 @@ SaveActionResultToLog() local -r CLEAN_ACTION=${ACTION//\"/} local -r RESULT=${5:?${FUNCNAME[0]}'()': undefined result} local -r REASON=${6:-} - local -r STARTTIME=$(FormatNanosecondsAsMilliseconds "${!var_safe_name}") - local -r DURATION=$(CalcTimeDiff "$STARTTIME" "$(FormatNowAsMilliseconds)") + local -r STARTTIME=$(ConvertNanosecondsToMilliseconds "${!var_safe_name}") + local -r DURATION=$(CalcAmountDiff "$STARTTIME" "$(ConvertNowToMilliseconds)") local -r ACTION_TIMES_PATHFILE=$ACTION_TIMES_PATH/$CLEAN_ACTION.milliseconds if [[ $2 = undefined ]]; then @@ -12462,7 +12462,7 @@ FuncInit() local var_safe_name=${VAR_NAME//[.-]/_} var_safe_name=${var_safe_name//:/_} - eval "$var_safe_name=$(FormatNowAsNanoseconds)" + eval "$var_safe_name=$(ConvertNowToNanoseconds)" DebugAsFuncEn @@ -12477,7 +12477,7 @@ FuncExit() local var_safe_name=${VAR_NAME//[.-]/_} var_safe_name=${var_safe_name//:/_} - DebugAsFuncEx "${1:-0}" "$(FormatMillisecondsAsDuration "$(CalcMillisecondsDiffFromNanoseconds "${!var_safe_name}" "$(FormatNowAsNanoseconds)")")" + DebugAsFuncEx "${1:-0}" "$(ConvertMillisecondsToFuncDuration "$(CalcMillisecondsDiffFromNanoseconds "${!var_safe_name}" "$(ConvertNowToNanoseconds)")")" return ${1:-0} @@ -12498,7 +12498,7 @@ FuncForkInit() local -r VAR_NAME=${FUNCNAME[1]}_STARTNANOSECONDS local var_safe_name=${VAR_NAME//[.-]/_} var_safe_name=${var_safe_name//:/_} - eval "$var_safe_name=$(FormatNowAsNanoseconds)" + eval "$var_safe_name=$(ConvertNowToNanoseconds)" DebugAsFuncEn @@ -12514,7 +12514,7 @@ FuncForkExit() var_safe_name=${var_safe_name//:/_} SendActionStatus ex - DebugAsFuncEx "${1:-0}" "$(FormatMillisecondsAsDuration "$(CalcMillisecondsDiffFromNanoseconds "${!var_safe_name}" "$(FormatNowAsNanoseconds)")")" + DebugAsFuncEx "${1:-0}" "$(ConvertMillisecondsToFuncDuration "$(CalcMillisecondsDiffFromNanoseconds "${!var_safe_name}" "$(ConvertNowToNanoseconds)")")" if [[ -n $sess_active_pathfile && -e $sess_active_pathfile ]]; then if [[ -s $sess_active_pathfile ]]; then @@ -12530,17 +12530,21 @@ FuncForkExit() } -CalcTimeDiff() +CalcAmountDiff() { # Input: - # $1 = start time in seconds/milliseconds. - # $2 = end time in seconds/milliseconds. + # $1 = e.g. start time in seconds/milliseconds. + # $2 = e.g. end time in seconds/milliseconds. # Output: - # stdout = difference in seconds/milliseconds. + # stdout = difference. - echo -n "$(($2-$1))" + if [[ $2 -gt $1 ]]; then + echo -n "$(($2-$1))" + else + echo -n "$(($1-$2))" + fi } 2> /dev/null @@ -12558,7 +12562,7 @@ CalcMillisecondsDiffFromNanoseconds() } 2> /dev/null -FormatSecondsAsFullDate() +ConvertSecondsToFullDate() { # Input: @@ -12571,7 +12575,7 @@ FormatSecondsAsFullDate() } 2> /dev/null -FormatSecondsAsTime() +ConvertSecondsToTime() { # Input: @@ -12584,7 +12588,7 @@ FormatSecondsAsTime() } 2> /dev/null -FormatSecondsAsHoursMinutesSeconds() +ConvertSecondsToDuration() { # http://stackoverflow.com/questions/12199631/convert-seconds-to-hours-minutes-seconds @@ -12601,6 +12605,8 @@ FormatSecondsAsHoursMinutesSeconds() elif [[ $m -gt 0 ]]; then printf '%01dm:%02ds' "$m" "$s" else + [[ $s -eq 0 ]] && s=1 # Never show zero seconds as a duration (bash isn't that fast). + if [[ $s -eq 1 ]]; then printf '%d second' "$s" else @@ -12610,57 +12616,59 @@ FormatSecondsAsHoursMinutesSeconds() } 2> /dev/null -FormatMillisecondsAsSeconds() +ConvertMillisecondsToSeconds() { # Input: - # $1 = epoch milliseconds. + # $1 = milliseconds. # Output: - # stdout = epoch seconds. + # stdout = seconds. echo -n "$(($1/(10**3)))" } 2> /dev/null -FormatMillisecondsAsHoursMinutesSeconds() +ConvertMillisecondsToDuration() { # Input: - # $1 = a time in milliseconds to convert to `S seconds` or `Mm:SSs`. + # $1 = milliseconds to convert to `HHh:MMm:SSs` or, if less than 1 minute, to `S seconds`. - FormatSecondsAsHoursMinutesSeconds "$((${1:-0}/1000))" + ConvertSecondsToDuration "$(ConvertMillisecondsToSeconds "$1")" } 2> /dev/null -FormatMillisecondsAsDuration() +ConvertMillisecondsToFuncDuration() { + # NOTE: This formatter is only used by script function timers. + # Input: # $1 = duration in milliseconds. if [[ ${1:-0} -lt 30000 ]]; then echo -n "$(FormatAsThous "${1:-0}")ms" | $TAIL_CMD -n1 # Prevent "broken pipe" error: https://superuser.com/a/642932 else - FormatSecondsAsHoursMinutesSeconds "$(FormatMillisecondsAsSeconds "$1")" + ConvertMillisecondsToDuration "$1" fi } 2> /dev/null -FormatNanosecondsAsMilliseconds() +ConvertNanosecondsToMilliseconds() { # Input: - # $1 = epoch nanoseconds. + # $1 = nanoseconds. # Output: - # stdout = epoch milliseconds. + # stdout = milliseconds. echo -n "$(($1/(10**6)))" } 2> /dev/null -FormatNowAsFullDate() +ConvertNowToFullDate() { # Output: @@ -12670,7 +12678,7 @@ FormatNowAsFullDate() } 2> /dev/null -FormatNowAsSeconds() +ConvertNowToSeconds() { # Output: @@ -12680,17 +12688,17 @@ FormatNowAsSeconds() } 2> /dev/null -FormatNowAsMilliseconds() +ConvertNowToMilliseconds() { # Output: # stdout = epoch milliseconds. - FormatNanosecondsAsMilliseconds "$(FormatNowAsNanoseconds)" + ConvertNanosecondsToMilliseconds "$(ConvertNowToNanoseconds)" } 2> /dev/null -FormatNowAsNanoseconds() +ConvertNowToNanoseconds() { # Output: @@ -13692,7 +13700,7 @@ CaughtEXIT() } -readonly SCRIPT_STARTSECONDS=$(FormatNowAsSeconds) +readonly SCRIPT_STARTSECONDS=$(ConvertNowToSeconds) Init || exit ProcActions From 95b903116ed3413bde2e7d0cf6ef6aae486420aa Mon Sep 17 00:00:00 2001 From: OneCDOnly Date: Mon, 3 Jun 2024 13:14:18 +1000 Subject: [PATCH 11/17] [update] management archives --- objects.tar.gz | Bin 45005 -> 45003 bytes sherpa-manager.tar.gz | Bin 50859 -> 50858 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/objects.tar.gz b/objects.tar.gz index fe872ba440769d938215c19773807e7ea8337a2a..56f67c39d3e8852919a91dd849f137e87e25374b 100644 GIT binary patch literal 45003 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