feat(update): add startup health rollback fuse

This commit is contained in:
chengma
2026-07-13 12:23:46 +08:00
parent 04124060fc
commit f6db4f0d62
16 changed files with 481 additions and 14 deletions
+7 -1
View File
@@ -299,7 +299,13 @@ def validate_staging(staging_dir, metadata):
key = relative.as_posix().casefold()
if key in declared:
raise UpdateInstallError("新版安装包清单包含重复路径")
declared[key] = (relative, int(item.get("size_bytes") or -1), str(item.get("sha256") or ""))
try:
size_bytes = int(item["size_bytes"])
except (KeyError, TypeError, ValueError) as exc:
raise UpdateInstallError("新版安装包清单文件大小无效") from exc
if size_bytes < 0:
raise UpdateInstallError("新版安装包清单文件大小无效")
declared[key] = (relative, size_bytes, str(item.get("sha256") or ""))
actual = {}
for path in staging_dir.rglob("*"):