Skip to content

Require airplanes-uuid compat symlink only on the legacy contract#115

Merged
d4rken merged 1 commit into
devfrom
fix/boot-smoke-uuid-symlink-legacy-only
May 28, 2026
Merged

Require airplanes-uuid compat symlink only on the legacy contract#115
d4rken merged 1 commit into
devfrom
fix/boot-smoke-uuid-symlink-legacy-only

Conversation

@d4rken
Copy link
Copy Markdown
Member

@d4rken d4rken commented May 28, 2026

The boot-smoke harness required /usr/local/share/airplanes/airplanes-uuid to be a symlink to feeder-id on every contract. That symlink is created by create-uuid.sh on installs that run update.sh. The overlay-managed image generates the canonical /etc/airplanes/feeder-id inline at first boot and deliberately omits the legacy symlink — the image's own overlay smoke asserts its absence on that contract. The harness assertion was only passing because the boot smoke used to run update.sh; now that the overlay guard correctly stops it, the new-contract boot smoke fails on a back-compat shim it never ships.

Scope the assertion to the legacy contract. apl-feed resolves the feeder ID from the canonical path first and only falls back to the legacy paths, so the symlink isn't a functional dependency on the new contract. The check asserts presence on legacy rather than absence on new, since a non-overlay install that still runs update.sh would legitimately create it — the invariant that holds is "required on legacy", not "forbidden on new".

The /usr/local/share/airplanes/airplanes-uuid -> feeder-id symlink is created by create-uuid.sh on update.sh-driven installs. The overlay-managed new image generates the canonical feeder-id inline and does not ship the legacy symlink (its own overlay smoke asserts the absence). Scope the harness assertion to the legacy contract so the new-contract boot smoke stops failing on a back-compat shim apl-feed does not require.
@d4rken d4rken merged commit 7cc9bee into dev May 28, 2026
13 checks passed
@d4rken d4rken deleted the fix/boot-smoke-uuid-symlink-legacy-only branch May 28, 2026 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant