Repository navigation
patches: onboard-ready 3.4.11 selection + bounded overlay carry (until:) - #136
Merged
Merged
Conversation
3.4.11 selection pins: prism_compile_memfs and openssl_extconf_ruby_export_msys fall back to their stale whole-line bodies for 3.4.11 (no version: "11" entry), failing git apply even though the 3.4.10 bodies apply cleanly -- prism_compile.c's 3.4.11 upstream changes (VM_CALL_KW_LEN_MAX guards, PM_KEYWORD_HASH_NODE assoc-splat rework) never touch the patched hunks, and extconf.rb is byte-identical to 3.4.10. Pin both features' 3.4.10 bodies at version: "11". Overlay carry bound: the 3.4.7 overlay's CRL default-store removal is obsolete since 3.4.8 (the vendored ssl.rb already lacks the flag), but the onboarder carried the nearest lower overlay forward and audited the candidate fatally, so 3.4.11 could never onboard. Overlay entries gain an optional until: "<patch>" manifest key (schema + PatchManifest): the onboarder carries an entry up to that patch level inclusive, then drops it and reports the feature on the Result as dropped; carried entries keep their bound, so the end survives further carries.
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.
Refs #116
What
Makes the ruby 3.4.11 onboard go green, per the triage on #116:
patches/3.4/patch-3.4.yaml— two selection pins atversion: "11":prism_compile_memfs→prism_compile_memfs_6.patch,openssl_extconf_ruby_export_msys→openssl_extconf_ruby_export_msys_10.patch.patches/3.4/patch-3.4.7.yaml— the CRL default-store removal entry gainsuntil: "7": the overlay carry ends at 3.4.7.until: "<patch>"key (schema/patches.schema.yml,Tfs::PatchManifest::Entry#until+#carriable_to?). The onboarder drops bound-expired entries from the carry candidates (reporting them on theResultasdropped) and preserves the bound in overlays it writes, so the end survives further carries. No selection-semantics change: an overlay still applies to its own exact patch level only.untilparse/reject (patch_manifest_spec), carry drop / bound preservation / bound surviving into the next onboarding (onboarder_spec). README synced.Triage evidence (why no rebase is needed)
All fifteen monitor filings report the same three patches. Verified against the official pristine tarballs (
git apply --check):prism_compile_memfs.patch(whole-line)prism_compile.c:1(@@ -1,5)#include "version.h"at line 2). 3.4.11's real upstream diff —VM_CALL_KW_LEN_MAX"too many keyword arguments/parameters" guards and thePM_KEYWORD_HASH_NODEassoc-splat rework viapm_compile_hash_elements— never touches the patched hunksprism_compile_memfs_6.patchapplies cleanly to 3.4.11 → pin at"11"openssl_extconf_ruby_export_msys.patch(whole-line)ext/openssl/extconf.rb:208(@@ -208,8)have_func("ASN1_BIT_STRING_set1…")after the anchor (why_10exists);extconf.rbis byte-identical 3.4.10 → 3.4.11openssl_extconf_ruby_export_msys_10.patchapplies cleanly → pin at"11"openssl_ssl_default_store_crl_removal.patch(carried from the 3.4.7 overlay)ext/openssl/lib/openssl/ssl.rb:92V_FLAG_CRL_CHECK_ALLsince 3.4.8 (the upstream removal the patch mirrors) —ssl.rbis byte-identical 3.4.10 → 3.4.11; the patch fails on bothuntil: "7"ends the carry; no patch becomes necessaryBefore/after selection
prism_compile_memfsprism_compile_memfs.patch(whole-line, fails)prism_compile_memfs_6.patch@"11"openssl_extconf_ruby_export_msysopenssl_extconf_ruby_export_msys.patch(whole-line, fails)openssl_extconf_ruby_export_msys_10.patch@"11"openssl_ssl_default_store_crl_removaldropped: ["openssl_ssl_default_store_crl_removal"]), no overlay writtenVerification runs (all local, pristine official tarballs)
bundle exec tools/monitor --onboard 3.4.11(the real monitor flow, sha256-verified tarball):OK 3.4.11 onboarded—applied: true,failing: [],dropped: ["openssl_ssl_default_store_crl_removal"], onlyversions.ymlwritten, nopatch-3.4.11.yaml. Theversions.ymlpin is not part of this PR — the monitor's next run performs the actual onboard (Onboard ruby 3.4.11: patches fail to apply #116 stays open until that run is green).tools/lint 3.4.11→OK 3.4.11 (34 patches apply cleanly);tools/lint 3.4.10→OK 3.4.10 (34 patches apply cleanly).tools/compile_smoke 3.4.11 --platform darwin→OK … 8 patched translation units compile (… compile.o …); same for3.4.10→OK. (compile.ocovers the#includedprism_compile.c; host legs are darwin — the CI matrix covers the rest.)bundle exec rspec→ 121 examples, 0 failures;tools/validate_manifests→ all manifests valid.