|
70 | 70 | echo "the index has not caught up yet (attempt $attempt of 6); waiting 60s" |
71 | 71 | sleep 60 |
72 | 72 | done |
| 73 | + # ⚠️⚠️ TRANSITION: GIVE THE BOOTSTRAP THE glibc ITS BINDING NAMES. |
| 74 | + # |
| 75 | + # `xim:glibc`'s `latest` moved from `2.44` to `2.44.2`. A payload |
| 76 | + # directory is named after the version a request RESOLVED to, while a |
| 77 | + # RuntimeBinding carries the version that was DECLARED — and the xlings |
| 78 | + # a released mcpp vendors into its own sandbox still declares `2.44`. |
| 79 | + # So a clean machine installs `2.44.2`, the toolchain fixup asks for |
| 80 | + # `2.44`, and the build stops before anything is compiled: |
| 81 | + # |
| 82 | + # error: selected RuntimeBinding glibc@2.44 requires payload |
| 83 | + # '…/xpkgs/xim-x-glibc/2.44', but it is not installed |
| 84 | + # |
| 85 | + # ⚠️ On every NEW machine and on none that already existed, which is why |
| 86 | + # it is invisible from a developer's own. Measured on `main` as readily |
| 87 | + # as on any branch — the index records the same failure verbatim in |
| 88 | + # `pkgs/g/glibc.lua` and states the rule it broke: "The index is DATA |
| 89 | + # and the client is a PROGRAM: the consumer ships first." |
| 90 | + # |
| 91 | + # ⭐ REMOVE THIS once a released mcpp resolves it. `mcpp 2026.8.27.1` |
| 92 | + # accepts an installed payload whose version REFINES the requested one |
| 93 | + # (`payload_dir_for_version`), so a bootstrap from it needs nothing |
| 94 | + # here. Until then the missing payload is simply installed. |
| 95 | + if [ -x "$HOME/.mcpp/registry/bin/xlings" ]; then |
| 96 | + XLINGS_HOME="$HOME/.mcpp/registry" XLINGS_NON_INTERACTIVE=1 \ |
| 97 | + "$HOME/.mcpp/registry/bin/xlings" install glibc@2.44 -y -g \ |
| 98 | + >/dev/null 2>&1 || true |
| 99 | + echo "glibc payloads present: $(ls "$HOME/.mcpp/registry/data/xpkgs/xim-x-glibc" 2>/dev/null | tr '\n' ' ')" |
| 100 | + fi |
73 | 101 | mcpp --version |
74 | 102 | mcpp self config --mirror GLOBAL |
75 | 103 | # ⭐⭐ CROSS-VALIDATION: BUILD THE mcpp UNDER REVIEW AND USE THAT ONE. |
@@ -267,6 +295,34 @@ jobs: |
267 | 295 | echo "the index has not caught up yet (attempt $attempt of 6); waiting 60s" |
268 | 296 | sleep 60 |
269 | 297 | done |
| 298 | + # ⚠️⚠️ TRANSITION: GIVE THE BOOTSTRAP THE glibc ITS BINDING NAMES. |
| 299 | + # |
| 300 | + # `xim:glibc`'s `latest` moved from `2.44` to `2.44.2`. A payload |
| 301 | + # directory is named after the version a request RESOLVED to, while a |
| 302 | + # RuntimeBinding carries the version that was DECLARED — and the xlings |
| 303 | + # a released mcpp vendors into its own sandbox still declares `2.44`. |
| 304 | + # So a clean machine installs `2.44.2`, the toolchain fixup asks for |
| 305 | + # `2.44`, and the build stops before anything is compiled: |
| 306 | + # |
| 307 | + # error: selected RuntimeBinding glibc@2.44 requires payload |
| 308 | + # '…/xpkgs/xim-x-glibc/2.44', but it is not installed |
| 309 | + # |
| 310 | + # ⚠️ On every NEW machine and on none that already existed, which is why |
| 311 | + # it is invisible from a developer's own. Measured on `main` as readily |
| 312 | + # as on any branch — the index records the same failure verbatim in |
| 313 | + # `pkgs/g/glibc.lua` and states the rule it broke: "The index is DATA |
| 314 | + # and the client is a PROGRAM: the consumer ships first." |
| 315 | + # |
| 316 | + # ⭐ REMOVE THIS once a released mcpp resolves it. `mcpp 2026.8.27.1` |
| 317 | + # accepts an installed payload whose version REFINES the requested one |
| 318 | + # (`payload_dir_for_version`), so a bootstrap from it needs nothing |
| 319 | + # here. Until then the missing payload is simply installed. |
| 320 | + if [ -x "$HOME/.mcpp/registry/bin/xlings" ]; then |
| 321 | + XLINGS_HOME="$HOME/.mcpp/registry" XLINGS_NON_INTERACTIVE=1 \ |
| 322 | + "$HOME/.mcpp/registry/bin/xlings" install glibc@2.44 -y -g \ |
| 323 | + >/dev/null 2>&1 || true |
| 324 | + echo "glibc payloads present: $(ls "$HOME/.mcpp/registry/data/xpkgs/xim-x-glibc" 2>/dev/null | tr '\n' ' ')" |
| 325 | + fi |
270 | 326 | mcpp --version |
271 | 327 | mcpp self config --mirror GLOBAL |
272 | 328 | # ⭐⭐ CROSS-VALIDATION: BUILD THE mcpp UNDER REVIEW AND USE THAT ONE. |
|
0 commit comments