@@ -114,6 +114,34 @@ jobs:
114114 echo "the index has not caught up yet (attempt $attempt of 6); waiting 60s"
115115 sleep 60
116116 done
117+ # ⚠️⚠️ TRANSITION: GIVE THE BOOTSTRAP THE glibc ITS BINDING NAMES.
118+ #
119+ # `xim:glibc`'s `latest` moved from `2.44` to `2.44.2`. A payload
120+ # directory is named after the version a request RESOLVED to, while a
121+ # RuntimeBinding carries the version that was DECLARED — and the xlings
122+ # a released mcpp vendors into its own sandbox still declares `2.44`.
123+ # So a clean machine installs `2.44.2`, the toolchain fixup asks for
124+ # `2.44`, and the build stops before anything is compiled:
125+ #
126+ # error: selected RuntimeBinding glibc@2.44 requires payload
127+ # '…/xpkgs/xim-x-glibc/2.44', but it is not installed
128+ #
129+ # ⚠️ On every NEW machine and on none that already existed, which is why
130+ # it is invisible from a developer's own. Measured on `main` as readily
131+ # as on any branch — the index records the same failure verbatim in
132+ # `pkgs/g/glibc.lua` and states the rule it broke: "The index is DATA
133+ # and the client is a PROGRAM: the consumer ships first."
134+ #
135+ # ⭐ REMOVE THIS once a released mcpp resolves it. `mcpp 2026.8.27.1`
136+ # accepts an installed payload whose version REFINES the requested one
137+ # (`payload_dir_for_version`), so a bootstrap from it needs nothing
138+ # here. Until then the missing payload is simply installed.
139+ if [ -x "$HOME/.mcpp/registry/bin/xlings" ]; then
140+ XLINGS_HOME="$HOME/.mcpp/registry" XLINGS_NON_INTERACTIVE=1 \
141+ "$HOME/.mcpp/registry/bin/xlings" install glibc@2.44 -y -g \
142+ >/dev/null 2>&1 || true
143+ echo "glibc payloads present: $(ls "$HOME/.mcpp/registry/data/xpkgs/xim-x-glibc" 2>/dev/null | tr '\n' ' ')"
144+ fi
117145 mcpp --version
118146 mcpp self config --mirror GLOBAL
119147 # ⭐⭐ CROSS-VALIDATION: BUILD THE mcpp UNDER REVIEW AND USE THAT ONE.
0 commit comments