backup-partition: support copy before feature update

This commit is contained in:
Christian Hesse 2024-05-22 12:03:53 +02:00
parent 6cbe13a135
commit affa118161
3 changed files with 30 additions and 3 deletions

View file

@ -15,11 +15,13 @@
:do {
:local ScriptName [ :jobname ];
:global BackupPartitionCopyBeforeFeatureUpdate;
:global PackagesUpdateBackupFailure;
:global LogPrint;
:global ScriptFromTerminal;
:global ScriptLock;
:global VersionToNum;
:local CopyTo do={
:local ScriptName [ :tostr $1 ];
@ -67,6 +69,17 @@
:error false;
}
}
} else={
:local Update [ /system/package/update/get ];
:local NumInstalled [ $VersionToNum ($Update->"installed-version") ];
:local NumLatest [ $VersionToNum ($Update->"latest-version") ];
:if ($BackupPartitionCopyBeforeFeatureUpdate = true && $NumLatest > 0 && \
($NumInstalled & 0xffff0000) != ($NumLatest & 0xffff0000)) do={
:if ([ $CopyTo $ScriptName $FallbackTo ] = false) do={
:set PackagesUpdateBackupFailure true;
:error false;
}
}
}
}