patches: loadpath_mount_root + the override capability manifest - #52
Merged
Conversation
… manifest The second half of the run-time mount-root override (spec 17 §1): the v0.2.17 rbconfig fallback made RbConfig follow TEBAKO_MOUNT_ROOT, but the interpreter's initial $LOAD_PATH is built C-side from the compiled exec prefix (ruby_init_loadpath, the non-LOAD_RELATIVE branch) — an override-mounted image left $: pointing at the unmounted baked root. The factory's v0.2.17 boot smoke caught it end-to-end (load_path_default_gem: fail on every POSIX leg). loadpath_mount_root.patch re-roots the baked load paths onto the override at init (strncmp on the exec prefix, rb_str_cat the tail; unset/empty is byte-identical upstream; LOAD_RELATIVE builds keep the other branch and the helper is guarded out of their compile). One canonical file per anchor shape: 3.3's covers 3.3/3.4/4.0, 3.1's covers 3.1/3.2 (the rb_libruby_selfpath block differs). Patches generated by git diff against the pristine tarballs, never hand-counted. SourcePrep now also emits tebako-mount-root-override when the applied tree's ruby.c carries the patch's symbol — the factory's layout grant derives from this manifest (absent patch ⇒ absent manifest ⇒ closed, the fail-closed direction). tools/lint green on 3.1.7/3.2.11/3.3.12/ 3.4.10/4.0.6 (30-31 patches each); validate_manifests OK; rspec 110/0.
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.
The C-side half of the run-time mount-root override: v0.2.17's rbconfig fallback made RbConfig follow TEBAKO_MOUNT_ROOT, but ruby_init_loadpath builds the initial$LOAD_PATH from the compiled exec prefix — an override-mounted image left $ : dangling (caught end-to-end by the factory's new override boot smoke). loadpath_mount_root.patch re-roots the baked paths at init (all 5 series; two anchor variants, git-diff generated). SourcePrep emits the tebako-mount-root-override capability manifest when the applied tree carries the patch — the factory's layout grant derives from it (absent ⇒ closed). lint green on 3.1.7/3.2.11/3.3.12/3.4.10/4.0.6; manifests valid; rspec 110/0. Rolls as v0.2.18.