Skip to content

link unit: pin v2.8.4 (tfs mount-boundary synthesis) — 0.16.24 - #165

Open
ronaldtse wants to merge 6 commits into
mainfrom
chore/link-unit-v2.8.4
Open

ronaldtse wants to merge 6 commits into
mainfrom
chore/link-unit-v2.8.4

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

What

Pin the consumed link unit at tebako v2.8.4 and cut runtime 0.16.24.

  • contract.yml: link_unit_release: "v2.3.0""v2.8.4". Contract version unchanged (2) — the change is behavioral, inside the unit's tfs engine.
  • VERSION: 0.16.23 → 0.16.24. Full-catalog re-cut: the runtime exe embeds the unit, so every (version × triplet) republishes.

Why

v2.8.4 (tebako#600) makes the unit's tfs engine synthesize mount-boundary directories: a slice mounted below a point the runtime never declared (/flavors.d/<name>) used to answer ENOENT for the intermediate components, so the payload interpreter's realpath/glob walk across the boundary failed (Gem.paths= died with Errno::ENOENT @ realpath_rec). The ancestors now materialize as directories at mount time.

This is the runtime-side half of the extension-slice flow: without it, a toolkit slice mounted under /flavors.d/ cannot be seen by the base payload's gem path setup.

Pin mechanics

The legs download link-unit-2.8.4-<triplet>.tar.gz from the published v2.8.4 release (all five platforms present, verified). A platform with no published unit would fall back to source build — a miss is never an error — but v2.8.4 is complete, so all legs hit the pin.

The runtime exe embeds the product's driver+tfs closure; tebako#600's
boundary synthesis (slice mounts below a declared point materialize
their intermediate directories) rides that unit, so the catalog re-cuts
on it. Contract unchanged (2).
v2.8.3's gnu legs died on the focal floor's curl (--retry-all-errors,
7.71+ flag on 7.68) — a partial release with no linux-gnu units.
v2.8.4 re-runs the full pipeline with the fix and carries the private
asset-descriptor fetch + bundle --also on top of the boundary synthesis.
…idge

The v2.8.4 link unit's driver embeds the spec 17 §2.3 trust bridge's
OS-store enumeration (rustls-native-certs → security-framework objects):
its kSec*/_Sec*/_CMS*/_Authorization* references resolve only against
the system Security framework, and miniruby's link died on the undefined
set (all four macos legs). Scoped to the v2 (rust_libdir) link.

Also: the windows failure dump now names a non-starting miniruby's
import table and runs it bare (the Error 127 class identifies itself).
…s, ldd, PE headers, cmd-native spawn

The exact-recipe re-run 127s with zero output even bare: the exe starts
and exits 127 silently. Split the remaining causes: subsystem/entry
corruption (objdump), DLL resolution (ldd), msys2 spawn translation
(cmd /c ERRORLEVEL), ruby-level reachability (-e puts), AV locks (copy
to /tmp).
…n artifact

The silent 127 reproduces bare, under cmd, and from a copy — the exe
exits 127 before any stdio. The miniruby link's own output is lost (the
-j4 output is discarded by the serial retry), so relink it in the dump
with V=1, and upload the exe + Makefile for offline dissection.
@ronaldtse
ronaldtse deployed to windows-signing September 15, 2026 15:17 — with GitHub Actions Active
@ronaldtse
ronaldtse deployed to windows-signing September 15, 2026 15:17 — with GitHub Actions Active
@ronaldtse
ronaldtse deployed to windows-signing September 15, 2026 15:17 — with GitHub Actions Active
@ronaldtse
ronaldtse deployed to windows-signing September 15, 2026 15:17 — with GitHub Actions Active
@ronaldtse
ronaldtse deployed to windows-signing September 15, 2026 15:18 — with GitHub Actions Active
@ronaldtse
ronaldtse deployed to windows-signing September 15, 2026 15:18 — with GitHub Actions Active
@ronaldtse
ronaldtse deployed to windows-signing September 15, 2026 15:18 — with GitHub Actions Active
@ronaldtse
ronaldtse deployed to windows-signing September 15, 2026 15:18 — with GitHub Actions Active
@ronaldtse
ronaldtse deployed to windows-signing September 15, 2026 15:18 — with GitHub Actions Active
@ronaldtse
ronaldtse deployed to windows-signing September 15, 2026 15:18 — with GitHub Actions Active
@ronaldtse
ronaldtse deployed to windows-signing September 15, 2026 15:18 — with GitHub Actions Active
@ronaldtse
ronaldtse deployed to windows-signing September 15, 2026 15:18 — with GitHub Actions Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants