Skip to content

Commit 36eff3b

Browse files
committed
docs(skills): record /dev/stdin regression and why CI cannot catch it
The nine sites fixed in #1298 reintroduced the /dev/stdin pattern after the 2026-07-25 lesson was written. GHA BuildBox mounts /proc via bubblewrap so CI stays green; only the lab BuildBarn grid (bb_runner chroot, no /proc) fails. Record the asymmetry and the review check. Assisted-by: Kimi K3 via GitHub Copilot
1 parent aadd447 commit 36eff3b

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

docs/skills/buildstream.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,8 @@ Change this value only from observed endpoint saturation or latency evidence.
158158

159159
BuildStream elements that write inline configuration files using `install -Dm644 /dev/stdin ... <<'EOF'` fail in remote execution sandboxes (such as BuildBox) where `/dev/stdin` is not available as a standard character device. Write inline files using a two-step pattern: create the destination file with `install -Dm644 /dev/null target`, then populate it with `cat > target <<'EOF'`.
160160

161+
**Regression (2026-08-07, fixed in #1298):** nine element sites and four packaging docs reintroduced the `/dev/stdin` pattern after this lesson was written. They built fine on the GHA BuildBox backend (bubblewrap mounts `/proc`, so CI cannot catch this) but failed on the lab BuildBarn grid, whose `bb_runner` uses a bare `chrootIntoInputRoot` with no `/proc` mount and only a minimal device directory (`null`, `zero`, `random`, `urandom`). Heredocs themselves work there; only the `/dev/stdin` indirection breaks. Check new inline-file elements for this pattern in review.
162+
161163
### overlap-whitelist required for base system file replacement
162164

163165
When an element provides files that are also provided by an upstream junction component (for example, `/etc/subuid` and `/etc/subgid` provided by `freedesktop-sdk.bst:components/shadow.bst`), BuildStream will throw an overlap error during composition (e.g. in `bluefin-runtime.bst`).

0 commit comments

Comments
 (0)