mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-21 03:09:08 -05:00
feat: record a release with no genuine copy
Paid Android emulators announce versions that circulate only rebuilt or re-signed. The profile stays on the newest unmodified build, and version_source.no_genuine_copy names the release searched for, so check_freshness stops flagging it until the page announces a later one.
This commit is contained in:
1 parent
8d295273a5
commit
77389236e6
5 files changed
+49
-7
No files matched your search
@@ -1110,11 +1110,16 @@ def summarize_profile_sync(report: object) -> list[Finding]:
|
||||
# Off any forge, the release page is the feed: a version there
|
||||
# beyond the declared one is a release the profile does not cover.
|
||||
declared, announced = str(row.get("declared_version") or ""), str(row["page_version"])
|
||||
findings.append(Finding(
|
||||
"profiles", name, OK if announced == declared else STALE,
|
||||
local=declared, remote=announced,
|
||||
detail="" if announced == declared else "a newer release is announced",
|
||||
))
|
||||
if announced == declared:
|
||||
status, detail = OK, ""
|
||||
elif announced == str(row.get("no_genuine_copy") or ""):
|
||||
# Searched for and found only rebuilt: the profile covers the
|
||||
# newest build that can be read, until the page moves on.
|
||||
status, detail = OK, "no genuine copy of the announced release"
|
||||
else:
|
||||
status, detail = STALE, "a newer release is announced"
|
||||
findings.append(Finding("profiles", name, status, local=declared,
|
||||
remote=announced, detail=detail))
|
||||
continue
|
||||
if row.get("skipped"):
|
||||
findings.append(Finding("profiles", name, UNKNOWN, detail=str(row["skipped"])))
|
||||
|
||||
@@ -1118,6 +1118,8 @@ class ProfileReport:
|
||||
# (version_source): the version read there, beside the one declared.
|
||||
declared_version: str | None = None
|
||||
page_version: str | None = None
|
||||
# An announced version searched for and found only rebuilt or re-signed.
|
||||
no_genuine_copy: str | None = None
|
||||
|
||||
# Skips that say the profile cannot be checked as written: a repository
|
||||
# that no longer answers, no pin to read, a death the forge contradicts.
|
||||
@@ -2040,6 +2042,9 @@ def format_report(report: ProfileReport, changed_only: bool = False) -> str:
|
||||
lines.append(
|
||||
f" version page: declared {report.declared_version or '-'}, "
|
||||
f"announced {report.page_version or 'unreadable'}"
|
||||
+ (" (no genuine copy found)"
|
||||
if report.page_version and report.page_version == report.no_genuine_copy
|
||||
else "")
|
||||
)
|
||||
if report.skipped:
|
||||
lines.append(f" skipped: {report.skipped}")
|
||||
@@ -3841,6 +3846,8 @@ def main() -> None:
|
||||
if args.check_version and profile.get("version_source"):
|
||||
report.declared_version = str(profile.get("core_version") or "") or None
|
||||
report.page_version = page_version(profile, args.cache_dir, args.offline)
|
||||
report.no_genuine_copy = str(
|
||||
profile["version_source"].get("no_genuine_copy") or "") or None
|
||||
reports.append(report)
|
||||
if writes:
|
||||
try:
|
||||
|
||||
Reference in new issue
Block a user