From 680a47f6fec0526e7b9d11d41b59e5f59c105792 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 20 Jan 2026 11:19:20 +0100 Subject: [PATCH 1/7] global-functions: introduce $CommitBrief --- global-functions.rsc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/global-functions.rsc b/global-functions.rsc index 44c3e563..4cdf852f 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -30,6 +30,7 @@ :global CharacterReplace; :global CleanFilePath; :global CleanName; +:global CommitBrief; :global DeviceInfo; :global Dos2Unix; :global DownloadPackage; @@ -320,6 +321,18 @@ :return $Return; } +# return a brief commit description +:set CommitBrief do={ + :global CommitId; + :global CommitInfo; + + :if ($CommitId = "unknown") do={ + :return "unknown"; + } + + :return ($CommitInfo . "/" . [ :pick $CommitId 0 8 ]); +} + # get readable device info :set DeviceInfo do={ :global CommitId; From 00c44276df53bfbabf09878b7bba2d6696996590 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 20 Jan 2026 11:20:58 +0100 Subject: [PATCH 2/7] global-functions: $DeviceInfo: use $CommitBrief --- global-functions.rsc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/global-functions.rsc b/global-functions.rsc index 4cdf852f..d498b5cf 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -335,11 +335,10 @@ # get readable device info :set DeviceInfo do={ - :global CommitId; - :global CommitInfo; :global ExpectedConfigVersion; :global Identity; + :global CommitBrief; :global IfThenElse; :global FormatLine; @@ -380,8 +379,7 @@ $RouterBoard->"current-firmware" != $RouterBoard->"upgrade-firmware") \ ([ $FormatLine " Firmware" ($RouterBoard->"current-firmware") ] . "\n") ] . \ "RouterOS-Scripts:\n" . \ - [ $IfThenElse ($CommitId != "unknown") \ - ([ $FormatLine " Commit" ($CommitInfo . "/" . [ :pick $CommitId 0 8 ]) ] . "\n") ] . \ + [ $FormatLine " Commit" [ $CommitBrief ] ] . "\n" . \ [ $FormatLine " Version" $ExpectedConfigVersion ]); } From a41f3a07f07a8a800c80f8835b23359c846b8f41 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 20 Jan 2026 11:23:17 +0100 Subject: [PATCH 3/7] global-functions: $FetchUserAgentStr: user $CommitBrief --- global-functions.rsc | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/global-functions.rsc b/global-functions.rsc index d498b5cf..a8122b73 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -572,16 +572,13 @@ :set FetchUserAgentStr do={ :local Caller [ :tostr $1 ]; - :global CommitId; - :global CommitInfo; - + :global CommitBrief; :global IfThenElse; :local Resource [ /system/resource/get ]; :return ("User-Agent: Mikrotik/" . $Resource->"version" . " " . $Resource->"architecture-name" . \ - " " . $Caller . "/Fetch (https://rsc.eworm.de/" . [ $IfThenElse ($CommitId != "unknown") \ - ("; " . $CommitInfo . "/" . [ :pick $CommitId 0 8 ]) ] . ")"); + " " . $Caller . "/Fetch (https://rsc.eworm.de/; " . [ $CommitBrief ] . ")"); } # check for existence of file, optionally with type From eab3b731f5bf46e37530b50f2edf62cb28534e23 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 20 Jan 2026 11:27:06 +0100 Subject: [PATCH 4/7] global-functions: $ScriptInstallUpdate: use $CommitBrief --- global-functions.rsc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/global-functions.rsc b/global-functions.rsc index a8122b73..7c04e8f5 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -1260,7 +1260,6 @@ :local NewComment [ :tostr $2 ]; :global CommitId; - :global CommitInfo; :global ExpectedConfigVersion; :global GlobalConfigReady; :global GlobalFunctionsReady; @@ -1272,6 +1271,7 @@ :global ScriptUpdatesUrlSuffix; :global CertificateAvailable; + :global CommitBrief; :global EitherOr; :global FetchUserAgentStr; :global Grep; @@ -1436,8 +1436,8 @@ } } - :if ($CommitId != "unknown" && $CommitIdBefore != $CommitId) do={ - $LogPrint info $0 ("Updated to commit: " . $CommitInfo . "/" . [ :pick $CommitId 0 8 ]); + :if ($CommitIdBefore != $CommitId) do={ + $LogPrint info $0 ("Updated to commit: " . [ $CommitBrief ]); } :if ($ExpectedConfigVersionBefore > $ExpectedConfigVersion) do={ From 36d6a4235a91635d153638f27c2b9f74c0095846 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 20 Jan 2026 11:35:57 +0100 Subject: [PATCH 5/7] global-functions: give commit info when laoding --- global-functions.rsc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/global-functions.rsc b/global-functions.rsc index 7c04e8f5..9a90c3d6 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -1951,8 +1951,9 @@ # Log success :local Resource [ /system/resource/get ]; -$LogPrintOnce info $ScriptName ("Loaded on " . $Resource->"board-name" . \ - " with RouterOS " . $Resource->"version" . "."); +$LogPrintOnce info $ScriptName ("Loaded " . \ + [ $IfThenElse ($CommitId != "unknown") ([ $CommitBrief ] . " ") ] . \ + "on " . $Resource->"board-name" . " with RouterOS " . $Resource->"version" . "."); # signal we are ready :set GlobalFunctionsReady true; From 70481f632145480e38744daf95df509a4ef3ee49 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 20 Jan 2026 11:41:18 +0100 Subject: [PATCH 6/7] global-functions: $ScriptInstallUpdate: drop output on commit... ... now that we have it on loading global functions. --- global-functions.rsc | 5 ----- 1 file changed, 5 deletions(-) diff --git a/global-functions.rsc b/global-functions.rsc index 9a90c3d6..6ac2ba45 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -1271,7 +1271,6 @@ :global ScriptUpdatesUrlSuffix; :global CertificateAvailable; - :global CommitBrief; :global EitherOr; :global FetchUserAgentStr; :global Grep; @@ -1436,10 +1435,6 @@ } } - :if ($CommitIdBefore != $CommitId) do={ - $LogPrint info $0 ("Updated to commit: " . [ $CommitBrief ]); - } - :if ($ExpectedConfigVersionBefore > $ExpectedConfigVersion) do={ $LogPrint warning $0 ("The configuration version decreased from " . \ $ExpectedConfigVersionBefore . " to " . $ExpectedConfigVersion . \ From 8ae7bd3a145fbc5535e1108f8d7d03b52bc856ce Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 20 Jan 2026 15:52:41 +0100 Subject: [PATCH 7/7] README: update screenshots --- README.d/05-run-scripts.avif | Bin 2388 -> 2572 bytes README.d/09-update-scripts.avif | Bin 2641 -> 2865 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/README.d/05-run-scripts.avif b/README.d/05-run-scripts.avif index 12d812c0cfd1c9fcc1ce63d5c8ff1d0ce8fedbbe..f8ccf5bd6cb30b24c11371845a8822851c87bb20 100644 GIT binary patch delta 2317 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 diff --git a/README.d/09-update-scripts.avif b/README.d/09-update-scripts.avif index e713ac2c48e8902e88b1309c660128a9d47032f5..39ff98e846fe8fd313aebf26bb950fd54280e2be 100644 GIT binary patch delta 2255 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 Lj_m#T@-JaXthn8D