aboutsummaryrefslogtreecommitdiffstats
path: root/capsman-download-packages
diff options
context:
space:
mode:
Diffstat (limited to 'capsman-download-packages')
-rw-r--r--capsman-download-packages19
1 files changed, 19 insertions, 0 deletions
diff --git a/capsman-download-packages b/capsman-download-packages
index 6f4642c..ac5ec0e 100644
--- a/capsman-download-packages
+++ b/capsman-download-packages
@@ -50,6 +50,25 @@ $WaitFullyConnected;
}
}
+:if ($Updated = false && [ / system resource get uptime ] < 2m) do={
+ $LogPrintExit2 info $0 ("No packages downloaded, yet. Delaying for logs.") false;
+ :delay 2m;
+}
+
+:foreach Log in=[ / log find where topics=({"caps", "error"}) \
+ message~("upgrade status: failed, failed to download file '.*-" . $InstalledVersion . "-.*\\.npk', no such file") ] do={
+ :local Message [ / log get $Log message ];
+ :local Package [ :pick $Message \
+ ([ :find $Message "'" ] + 1) \
+ [ :find $Message ("-" . $InstalledVersion . "-") ] ];
+ :local Arch [ :pick $Message \
+ ([ :find $Message ("-" . $InstalledVersion . "-") ] + 2 + [ :len $InstalledVersion ]) \
+ [ :find $Message ".npk" ] ];
+ :if ([ $DownloadPackage $Package $InstalledVersion $Arch $PackagePath ] = true) do={
+ :set Updated true;
+ }
+}
+
:if ($Updated = true) do={
:if ([ :len [ / system script find where name="capsman-rolling-upgrade" ] ] > 0) do={
/ system script run capsman-rolling-upgrade;