mirror of
https://git.eworm.de/cgit/routeros-scripts
synced 2025-07-08 00:54:29 +02:00
packages-update: run backups before package download
This reduces memory pressure, especially on device with very limited RAM like mAP with its 64 MB.
This commit is contained in:
parent
eab9b28cd2
commit
64bc9f73f7
1 changed files with 26 additions and 26 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue