aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Christian Hesse <mail@eworm.de>2024-07-03 16:35:39 +0200
committerGravatar Christian Hesse <mail@eworm.de>2024-07-03 16:37:50 +0200
commitda035b8ab3a8065a5d5690d7dbe13cde05ebb19d (patch)
tree21332c3fda9865e656f0f45cb27e3930c3667725
parentce1b635eb2d96706ef0a8b603737062338f92238 (diff)
packages-update: run backups before package download
This reduces memory pressure, especially on device with very limited RAM like mAP with its 64 MB.
-rw-r--r--packages-update.rsc52
1 files changed, 26 insertions, 26 deletions
diff --git a/packages-update.rsc b/packages-update.rsc
index 0208b1e..97039ec 100644
--- a/packages-update.rsc
+++ b/packages-update.rsc
@@ -60,32 +60,6 @@
:error true;
}
- :local NumInstalled [ $VersionToNum ($Update->"installed-version") ];
- :local NumLatest [ $VersionToNum ($Update->"latest-version") ];
-
- :local DoDowngrade false;
- :if ($NumInstalled > $NumLatest) do={
- :if ([ $ScriptFromTerminal $ScriptName ] = true) do={
- :put "Latest version is older than installed one. Want to downgrade? [y/N]";
- :if (([ /terminal/inkey timeout=60 ] % 32) = 25) do={
- :set DoDowngrade true;
- } else={
- :put "Canceled...";
- }
- } else={
- $LogPrint warning $ScriptName ("Not installing downgrade automatically.");
- :error false;
- }
- }
-
- :foreach Package in=[ /system/package/find where !bundle ] do={
- :local PkgName [ /system/package/get $Package name ];
- :if ([ $DownloadPackage $PkgName ($Update->"latest-version") ] = false) do={
- $LogPrint error $ScriptName ("Download for package " . $PkgName . " failed, update aborted.");
- :error false;
- }
- }
-
:local RunOrder ({});
:foreach Script in=[ /system/script/find where source~("\n# provides: backup-script\\b") ] do={
:local ScriptVal [ /system/script/get $Script ];
@@ -120,6 +94,32 @@
}
}
+ :local NumInstalled [ $VersionToNum ($Update->"installed-version") ];
+ :local NumLatest [ $VersionToNum ($Update->"latest-version") ];
+
+ :local DoDowngrade false;
+ :if ($NumInstalled > $NumLatest) do={
+ :if ([ $ScriptFromTerminal $ScriptName ] = true) do={
+ :put "Latest version is older than installed one. Want to downgrade? [y/N]";
+ :if (([ /terminal/inkey timeout=60 ] % 32) = 25) do={
+ :set DoDowngrade true;
+ } else={
+ :put "Canceled...";
+ }
+ } else={
+ $LogPrint warning $ScriptName ("Not installing downgrade automatically.");
+ :error false;
+ }
+ }
+
+ :foreach Package in=[ /system/package/find where !bundle ] do={
+ :local PkgName [ /system/package/get $Package name ];
+ :if ([ $DownloadPackage $PkgName ($Update->"latest-version") ] = false) do={
+ $LogPrint error $ScriptName ("Download for package " . $PkgName . " failed, update aborted.");
+ :error false;
+ }
+ }
+
:if ($DoDowngrade = true) do={
$LogPrint info $ScriptName ("Rebooting for downgrade.");
:delay 1s;