fix: replay system drops and keep file modes

This commit is contained in:
Abdessamad Derraz committed 2026-10-16 09:44:23 +02:00
1 parent 5fbb1286d0
commit 5cfaf97173
19 files changed
+31572 -525

No files matched your search

+8
View File
@@ -477,9 +477,14 @@ def _collect_emulator_extras(
include_all: bool = False,
claimants: dict[tuple[str, str, str], str] | None = None,
unplaceable: list[dict] | None = None,
baseline_claims: dict[str, dict] | None = None,
) -> list[dict]:
"""Collect core requirement files from emulator profiles not in the platform pack.
``baseline_claims`` receives, for each destination in ``seen``, the core
claims made on it: a pack built for a target that drops the platform's
system frees the destination, and the first core claiming it fills it.
``claimants`` receives the destination of every report entry that
asked for one, the ones a sibling already took included: the region
report withdraws by that key, and an entry without one stayed listed
@@ -525,6 +530,9 @@ def _collect_emulator_extras(
seen_dests: set[str] = set(seen)
# Destination -> the extra that took it, to record later claimants on.
taken: dict[str, dict] = {}
if baseline_claims is not None:
for destination in seen:
taken[destination] = baseline_claims.setdefault(destination, {})
for u in undeclared:
if not u["in_repo"]:
continue