Repository navigation
fix(install): pass the S15 owner-link pipe flag and keep package managers off the terminal - #390
Merged
Merged
Conversation
…gers off the terminal The S15 installer issued the first-owner link with 'owner-link --s15 --config <path>', which the CLI's runtime selection refuses without '--output-fd 3', so every real fresh install stopped at owner-link-prepare and rolled back. install.sh ran apt/dnf under 'timeout' (own process group) with the operator terminal as stdin. When apt actually installed a package it reconfigured the terminal from outside the foreground group and was stopped by SIGTTOU, hanging the install forever under 'ssh -t'. Package managers now read /dev/null.
[Medium impact] The PR appears safe to merge; no actionable issues were found. SummaryFixes two installation failures:
No actionable issues were found. Reviews (1) · Last reviewed commit: "fix(install): pass the S15 owner-link pi..." · Reviewed by Greptile |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #389. Part of #341.
What failed on the real host
The first production
install.sh --s15onjit-vm(main9082327) hit two failures that the dry-run suite cannot see:dependencies.apt-getran undertimeout 600with the operator terminal as stdin.timeoutgives its child its own process group. When apt actually installed packages (the protected browser's fonts), it reconfigured the terminal after dpkg, and the kernel stopped it andtimeoutwith SIGTTOU (T,do_signal_stop). The timer never fired, so the install hung forever under the documentedssh -tpath.owner-link-preparealways failed. The installer ranowner-link --s15 --config <path>.selectRuntimeaccepts S15owner-linkonly with--output-fd 3, so the CLI refused and the fresh-install rollback removed the new state. The dry-run tests stub the owner link, so the argv was never checked.Changes
install.sh: everyapt-get/apt-cache/dnfcall reads/dev/null.timeoutand the output redirection are unchanged.ops/package/installer/s15.ts: the owner-link argv now comes from the exporteds15OwnerLinkArguments(configPath), which adds--output-fd 3. Delivery is unchanged: fd 3 →/dev/tty, after health, never to logs.tests/s15-installer.test.ts: two new tests. One checks thatselectRuntimeaccepts the installer's argv and refuses it without the pipe flag. The other checks that every package-manager call ininstall.shredirects stdin from/dev/null.Evidence
bun test tests/s15-installer.test.ts -t "owner-link command is the spelling|never gives a package manager": 2 pass.install.sh --s15 --yesof this branch onjit-vm, run under a pty with the output discarded so the owner link is never seen. It passeddependencies,owner-link-prepare,healthandowner-link, and followed the working computer toReady(QEMU asjit-s15-vmm; the pinned Chromium downloaded and verified). No owner link appears in the install log or thejit-s15journal. The full result goes on [Frontier] [CUT15-01] Install S15 fresh on jit-vm with owner acceptance and a recoverable install #341.CI runs the full suite.