fix(build): pass apk --usermode for non-root builds (the real "startx… - #676
Merged
Conversation
…: not found" cause)
The build normally runs as an unprivileged user (`make` on a dev box). apk 3.x
refuses to create a package database as non-root without --usermode, so the
build-time `apk add --root` exited immediately with
"ERROR: Use --usermode to allow creating database as non-root" and was warned
past -- shipping an image with no X server ("sh: startx: not found"), regardless
of network. (This is what the user hit; a direct run of the exact command
reproduced the error.)
apk also REFUSES --usermode when run as root ("--usermode not allowed as root"),
so the flag can't just always be passed. Detect the euid via `id -u` (no new
crate dep) and pass --usermode only when non-root; a root/CI build keeps the
privileged path.
xtask builds; fmt/clippy clean.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MHCn5RNRcwR5PY1sYBHY2S
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.
…: not found" cause)
The build normally runs as an unprivileged user (
makeon a dev box). apk 3.x refuses to create a package database as non-root without --usermode, so the build-timeapk add --rootexited immediately with "ERROR: Use --usermode to allow creating database as non-root" and was warned past -- shipping an image with no X server ("sh: startx: not found"), regardless of network. (This is what the user hit; a direct run of the exact command reproduced the error.)apk also REFUSES --usermode when run as root ("--usermode not allowed as root"), so the flag can't just always be passed. Detect the euid via
id -u(no new crate dep) and pass --usermode only when non-root; a root/CI build keeps the privileged path.xtask builds; fmt/clippy clean.
Claude-Session: https://claude.ai/code/session_01MHCn5RNRcwR5PY1sYBHY2S