capsman-rolling-upgrade: move code into function

This commit is contained in:
Christian Hesse 2024-03-04 13:48:00 +01:00
parent c2df671d6f
commit 4cbf9fab74
4 changed files with 103 additions and 83 deletions

View file

@ -12,30 +12,35 @@
# #
# !! Do not edit this file, it is generated from template! # !! Do not edit this file, it is generated from template!
:local 0 [ :jobname ];
:global GlobalFunctionsReady; :global GlobalFunctionsReady;
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; } :while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
:global LogPrintExit2; :local Main do={
:global ScriptLock; :local ScriptName [ :tostr $1 ];
$ScriptLock $0; :global LogPrintExit2;
:global ScriptLock;
:local InstalledVersion [ /system/package/update/get installed-version ]; $ScriptLock $ScriptName;
:local RemoteCapCount [ :len [ /caps-man/remote-cap/find ] ]; :local InstalledVersion [ /system/package/update/get installed-version ];
:if ($RemoteCapCount > 0) do={
:local RemoteCapCount [ :len [ /caps-man/remote-cap/find ] ];
:if ($RemoteCapCount > 0) do={
:local Delay (600 / $RemoteCapCount); :local Delay (600 / $RemoteCapCount);
:if ($Delay > 120) do={ :set Delay 120; } :if ($Delay > 120) do={ :set Delay 120; }
:foreach RemoteCap in=[ /caps-man/remote-cap/find where version!=$InstalledVersion ] do={ :foreach RemoteCap in=[ /caps-man/remote-cap/find where version!=$InstalledVersion ] do={
:local RemoteCapVal [ /caps-man/remote-cap/get $RemoteCap ]; :local RemoteCapVal [ /caps-man/remote-cap/get $RemoteCap ];
:if ([ :len $RemoteCapVal ] > 1) do={ :if ([ :len $RemoteCapVal ] > 1) do={
$LogPrintExit2 info $0 ("Starting upgrade for " . $RemoteCapVal->"name" . \ $LogPrintExit2 info $ScriptName ("Starting upgrade for " . $RemoteCapVal->"name" . \
" (" . $RemoteCapVal->"identity" . ")...") false; " (" . $RemoteCapVal->"identity" . ")...") false;
/caps-man/remote-cap/upgrade $RemoteCap; /caps-man/remote-cap/upgrade $RemoteCap;
} else={ } else={
$LogPrintExit2 warning $0 ("Remote CAP vanished, skipping upgrade.") false; $LogPrintExit2 warning $ScriptName ("Remote CAP vanished, skipping upgrade.") false;
} }
:delay ($Delay . "s"); :delay ($Delay . "s");
} }
}
} }
$Main [ :jobname ];

View file

@ -13,21 +13,23 @@
# !! This is just a template to generate the real script! # !! This is just a template to generate the real script!
# !! Pattern '%TEMPL%' is replaced, paths are filtered. # !! Pattern '%TEMPL%' is replaced, paths are filtered.
:local 0 [ :jobname ];
:global GlobalFunctionsReady; :global GlobalFunctionsReady;
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; } :while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
:global LogPrintExit2; :local Main do={
:global ScriptLock; :local ScriptName [ :tostr $1 ];
$ScriptLock $0; :global LogPrintExit2;
:global ScriptLock;
:local InstalledVersion [ /system/package/update/get installed-version ]; $ScriptLock $ScriptName;
:local RemoteCapCount [ :len [ /caps-man/remote-cap/find ] ]; :local InstalledVersion [ /system/package/update/get installed-version ];
:local RemoteCapCount [ :len [ /interface/wifi/capsman/remote-cap/find ] ];
:local RemoteCapCount [ :len [ /interface/wifiwave2/capsman/remote-cap/find ] ]; :local RemoteCapCount [ :len [ /caps-man/remote-cap/find ] ];
:if ($RemoteCapCount > 0) do={ :local RemoteCapCount [ :len [ /interface/wifi/capsman/remote-cap/find ] ];
:local RemoteCapCount [ :len [ /interface/wifiwave2/capsman/remote-cap/find ] ];
:if ($RemoteCapCount > 0) do={
:local Delay (600 / $RemoteCapCount); :local Delay (600 / $RemoteCapCount);
:if ($Delay > 120) do={ :set Delay 120; } :if ($Delay > 120) do={ :set Delay 120; }
:foreach RemoteCap in=[ /caps-man/remote-cap/find where version!=$InstalledVersion ] do={ :foreach RemoteCap in=[ /caps-man/remote-cap/find where version!=$InstalledVersion ] do={
@ -40,14 +42,17 @@ $ScriptLock $0;
# NOT /caps-man/ # # NOT /caps-man/ #
:set ($RemoteCapVal->"name") ($RemoteCapVal->"common-name"); :set ($RemoteCapVal->"name") ($RemoteCapVal->"common-name");
# NOT /caps-man/ # # NOT /caps-man/ #
$LogPrintExit2 info $0 ("Starting upgrade for " . $RemoteCapVal->"name" . \ $LogPrintExit2 info $ScriptName ("Starting upgrade for " . $RemoteCapVal->"name" . \
" (" . $RemoteCapVal->"identity" . ")...") false; " (" . $RemoteCapVal->"identity" . ")...") false;
/caps-man/remote-cap/upgrade $RemoteCap; /caps-man/remote-cap/upgrade $RemoteCap;
/interface/wifi/capsman/remote-cap/upgrade $RemoteCap; /interface/wifi/capsman/remote-cap/upgrade $RemoteCap;
/interface/wifiwave2/capsman/remote-cap/upgrade $RemoteCap; /interface/wifiwave2/capsman/remote-cap/upgrade $RemoteCap;
} else={ } else={
$LogPrintExit2 warning $0 ("Remote CAP vanished, skipping upgrade.") false; $LogPrintExit2 warning $ScriptName ("Remote CAP vanished, skipping upgrade.") false;
} }
:delay ($Delay . "s"); :delay ($Delay . "s");
} }
}
} }
$Main [ :jobname ];

View file

@ -12,31 +12,36 @@
# #
# !! Do not edit this file, it is generated from template! # !! Do not edit this file, it is generated from template!
:local 0 [ :jobname ];
:global GlobalFunctionsReady; :global GlobalFunctionsReady;
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; } :while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
:global LogPrintExit2; :local Main do={
:global ScriptLock; :local ScriptName [ :tostr $1 ];
$ScriptLock $0; :global LogPrintExit2;
:global ScriptLock;
:local InstalledVersion [ /system/package/update/get installed-version ]; $ScriptLock $ScriptName;
:local RemoteCapCount [ :len [ /interface/wifi/capsman/remote-cap/find ] ]; :local InstalledVersion [ /system/package/update/get installed-version ];
:if ($RemoteCapCount > 0) do={
:local RemoteCapCount [ :len [ /interface/wifi/capsman/remote-cap/find ] ];
:if ($RemoteCapCount > 0) do={
:local Delay (600 / $RemoteCapCount); :local Delay (600 / $RemoteCapCount);
:if ($Delay > 120) do={ :set Delay 120; } :if ($Delay > 120) do={ :set Delay 120; }
:foreach RemoteCap in=[ /interface/wifi/capsman/remote-cap/find where version!=$InstalledVersion ] do={ :foreach RemoteCap in=[ /interface/wifi/capsman/remote-cap/find where version!=$InstalledVersion ] do={
:local RemoteCapVal [ /interface/wifi/capsman/remote-cap/get $RemoteCap ]; :local RemoteCapVal [ /interface/wifi/capsman/remote-cap/get $RemoteCap ];
:if ([ :len $RemoteCapVal ] > 1) do={ :if ([ :len $RemoteCapVal ] > 1) do={
:set ($RemoteCapVal->"name") ($RemoteCapVal->"common-name"); :set ($RemoteCapVal->"name") ($RemoteCapVal->"common-name");
$LogPrintExit2 info $0 ("Starting upgrade for " . $RemoteCapVal->"name" . \ $LogPrintExit2 info $ScriptName ("Starting upgrade for " . $RemoteCapVal->"name" . \
" (" . $RemoteCapVal->"identity" . ")...") false; " (" . $RemoteCapVal->"identity" . ")...") false;
/interface/wifi/capsman/remote-cap/upgrade $RemoteCap; /interface/wifi/capsman/remote-cap/upgrade $RemoteCap;
} else={ } else={
$LogPrintExit2 warning $0 ("Remote CAP vanished, skipping upgrade.") false; $LogPrintExit2 warning $ScriptName ("Remote CAP vanished, skipping upgrade.") false;
} }
:delay ($Delay . "s"); :delay ($Delay . "s");
} }
}
} }
$Main [ :jobname ];

View file

@ -12,31 +12,36 @@
# #
# !! Do not edit this file, it is generated from template! # !! Do not edit this file, it is generated from template!
:local 0 [ :jobname ];
:global GlobalFunctionsReady; :global GlobalFunctionsReady;
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; } :while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
:global LogPrintExit2; :local Main do={
:global ScriptLock; :local ScriptName [ :tostr $1 ];
$ScriptLock $0; :global LogPrintExit2;
:global ScriptLock;
:local InstalledVersion [ /system/package/update/get installed-version ]; $ScriptLock $ScriptName;
:local RemoteCapCount [ :len [ /interface/wifiwave2/capsman/remote-cap/find ] ]; :local InstalledVersion [ /system/package/update/get installed-version ];
:if ($RemoteCapCount > 0) do={
:local RemoteCapCount [ :len [ /interface/wifiwave2/capsman/remote-cap/find ] ];
:if ($RemoteCapCount > 0) do={
:local Delay (600 / $RemoteCapCount); :local Delay (600 / $RemoteCapCount);
:if ($Delay > 120) do={ :set Delay 120; } :if ($Delay > 120) do={ :set Delay 120; }
:foreach RemoteCap in=[ /interface/wifiwave2/capsman/remote-cap/find where version!=$InstalledVersion ] do={ :foreach RemoteCap in=[ /interface/wifiwave2/capsman/remote-cap/find where version!=$InstalledVersion ] do={
:local RemoteCapVal [ /interface/wifiwave2/capsman/remote-cap/get $RemoteCap ]; :local RemoteCapVal [ /interface/wifiwave2/capsman/remote-cap/get $RemoteCap ];
:if ([ :len $RemoteCapVal ] > 1) do={ :if ([ :len $RemoteCapVal ] > 1) do={
:set ($RemoteCapVal->"name") ($RemoteCapVal->"common-name"); :set ($RemoteCapVal->"name") ($RemoteCapVal->"common-name");
$LogPrintExit2 info $0 ("Starting upgrade for " . $RemoteCapVal->"name" . \ $LogPrintExit2 info $ScriptName ("Starting upgrade for " . $RemoteCapVal->"name" . \
" (" . $RemoteCapVal->"identity" . ")...") false; " (" . $RemoteCapVal->"identity" . ")...") false;
/interface/wifiwave2/capsman/remote-cap/upgrade $RemoteCap; /interface/wifiwave2/capsman/remote-cap/upgrade $RemoteCap;
} else={ } else={
$LogPrintExit2 warning $0 ("Remote CAP vanished, skipping upgrade.") false; $LogPrintExit2 warning $ScriptName ("Remote CAP vanished, skipping upgrade.") false;
} }
:delay ($Delay . "s"); :delay ($Delay . "s");
} }
}
} }
$Main [ :jobname ];