diff options
author | Christian Hesse <mail@eworm.de> | 2024-05-22 12:03:53 +0200 |
---|---|---|
committer | Christian Hesse <mail@eworm.de> | 2024-05-23 12:03:13 +0200 |
commit | 8dabdcbf782e0d4b1772dbc1dc9367cdeb9e4c4a (patch) | |
tree | f26e9229fe2129cffc8315a0909bb5e03f18380f /backup-partition.rsc | |
parent | 6824644ac58d2c3cd8c9ba3d59e0814bad96a050 (diff) |
backup-partition: support copy before feature updatenext
Diffstat (limited to 'backup-partition.rsc')
-rw-r--r-- | backup-partition.rsc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/backup-partition.rsc b/backup-partition.rsc index a72dd0b..3c883f7 100644 --- a/backup-partition.rsc +++ b/backup-partition.rsc @@ -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; + } + } } } |