Skip to content

Commit 16688b7

Browse files
2026.10.16.2: bundle xlings 2026.10.16.2 (mcpp inside a Luban system uses the system's gcc)
Inside a Luban system the registry could not build its catalog (its recipe worker needed bwrap, which cannot start there) and was layered on the system's home besides its upstream, so the borrowed toolchain had no entry in the store mcpp reads: `mcpp build` stopped at "Bootstrap patchelf/ninja ... did not complete". xlings 2026.10.16.2 fences the worker with Landlock inside a system and gives a home that names upstreams no system layer (openxlings/xlings#677). The pins of CI and the release follow. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
1 parent 18ded18 commit 16688b7

12 files changed

Lines changed: 40 additions & 22 deletions

File tree

‎.github/actions/bootstrap-mcpp/action.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ inputs:
3333
# `package.name`, so one of the two was simply unreachable — and which one
3434
# depended on the machine, which is why CI failed on `compat:lua` on
3535
# Windows and `mcpplibs.capi:lua` on Linux. Never pin below that.
36-
default: '2026.10.16.1'
36+
default: '2026.10.16.2'
3737

3838
outputs:
3939
sandbox-key:

‎.github/actions/setup-macos-llvm/action.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ inputs:
1515
# Floor imposed by the index, not a routine bump — see
1616
# .github/actions/bootstrap-mcpp/action.yml for why 0.4.69 is required
1717
# (two packages named `lua` in one repo need openxlings/xlings#381).
18-
default: '2026.10.16.1'
18+
default: '2026.10.16.2'
1919
image:
2020
description: >
2121
The runner label the job runs on (macos-15, xcode-27). It is part of the

‎.github/workflows/bootstrap-macos.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
# Dormant (workflow_dispatch only), but kept in step with the rest —
1818
# check_version_pins.sh holds it there. Floor: 0.4.69, below which the
1919
# index cannot resolve two packages that share a short name.
20-
XLINGS_VERSION: '2026.10.16.1'
20+
XLINGS_VERSION: '2026.10.16.2'
2121
steps:
2222
- uses: actions/checkout@v4
2323

‎.github/workflows/ci-bootstrap.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
os: [ubuntu-24.04, macos-15, windows-2025]
4242
env:
4343
XLINGS_NON_INTERACTIVE: '1'
44-
XLINGS_VERSION: '2026.10.16.1'
44+
XLINGS_VERSION: '2026.10.16.2'
4545
steps:
4646
- uses: actions/checkout@v4
4747

@@ -50,7 +50,7 @@ jobs:
5050
shell: bash
5151
run: |
5252
set -euo pipefail
53-
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.10.16.1
53+
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.10.16.2
5454
echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH"
5555
echo "$HOME/.xlings/bin" >> "$GITHUB_PATH"
5656
@@ -124,7 +124,7 @@ jobs:
124124
shell: bash
125125
run: |
126126
set -euo pipefail
127-
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.10.16.1
127+
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.10.16.2
128128
echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH"
129129
130130
- name: Install the newest release and build the tree with it (mcpp build --strict)

‎.github/workflows/ci-fresh-install.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ jobs:
152152
env:
153153
XLINGS_NON_INTERACTIVE: '1'
154154
run: |
155-
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.10.16.1
155+
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.10.16.2
156156
echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH"
157157
158158
- name: Install mcpp and config mirror
@@ -315,7 +315,7 @@ jobs:
315315

316316
- name: Install xlings + mcpp
317317
run: |
318-
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.10.16.1
318+
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.10.16.2
319319
# Deliberately NOT writing to $GITHUB_PATH here. On container
320320
# images that declare no PATH in their config (opensuse/
321321
# tumbleweed), appending a single dir to GITHUB_PATH makes the
@@ -464,7 +464,7 @@ jobs:
464464
# (older ones carry minos=15 and refuse to start).
465465
# v0.4.51+: in-process sha256 — this image has no sha256sum
466466
# binary, so pinned fetches failed before it.
467-
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.10.16.1
467+
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.10.16.2
468468
echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH"
469469
470470
- name: Install mcpp and config mirror

‎.github/workflows/ci-linux-e2e.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ jobs:
414414
415415
- name: Bootstrap xlings + released mcpp
416416
run: |
417-
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.10.16.1
417+
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.10.16.2
418418
export PATH="$HOME/.xlings/subos/current/bin:$PATH"
419419
xlings update
420420
xlings install mcpp -y -g

‎.github/workflows/cross-build-test.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ jobs:
131131
# release assets were uploaded in a broken state (records present,
132132
# blobs missing → 404 on GET); re-uploaded clean. The stale-INDEX
133133
# half is handled by the marker-clear below.
134-
XLINGS_VERSION: '2026.10.16.1'
134+
XLINGS_VERSION: '2026.10.16.2'
135135
run: |
136136
tarball="xlings-${XLINGS_VERSION}-linux-x86_64.tar.gz"
137137
bash "$GITHUB_WORKSPACE/.github/tools/fetch_release.sh" \
@@ -323,7 +323,7 @@ jobs:
323323
- name: Bootstrap mcpp via xlings
324324
env:
325325
XLINGS_NON_INTERACTIVE: '1'
326-
XLINGS_VERSION: '2026.10.16.1'
326+
XLINGS_VERSION: '2026.10.16.2'
327327
run: |
328328
tarball="xlings-${XLINGS_VERSION}-linux-x86_64.tar.gz"
329329
bash "$GITHUB_WORKSPACE/.github/tools/fetch_release.sh" \

‎.github/workflows/release.yml‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ jobs:
104104
# Pin xlings to a known-good version. The upstream install
105105
# script always grabs `latest` (no version override), so we
106106
# download + self-install manually to avoid broken releases.
107-
XLINGS_VERSION: '2026.10.16.1'
107+
XLINGS_VERSION: '2026.10.16.2'
108108
run: |
109109
# BY VERSION, NOT BY PRESENCE. A restored ~/.xlings holds the
110110
# xlings of an earlier release, and this binary is the one the
@@ -329,7 +329,7 @@ jobs:
329329
- name: Bootstrap mcpp via xlings
330330
env:
331331
XLINGS_NON_INTERACTIVE: '1'
332-
XLINGS_VERSION: '2026.10.16.1'
332+
XLINGS_VERSION: '2026.10.16.2'
333333
run: |
334334
tarball="xlings-${XLINGS_VERSION}-linux-x86_64.tar.gz"
335335
bash "$GITHUB_WORKSPACE/.github/tools/fetch_release.sh" \
@@ -400,7 +400,7 @@ jobs:
400400
# below are pinned to the same version as XLINGS_VERSION; they are
401401
# NOT interpolated from it, so check_version_pins.sh scans for them
402402
# explicitly (they were absent from the old lock-step comment).
403-
XLA="xlings-2026.10.16.1-linux-aarch64.tar.gz"
403+
XLA="xlings-2026.10.16.2-linux-aarch64.tar.gz"
404404
# NOT fetch_release.sh: this asset is OPTIONAL and the `if` is the
405405
# point — an arch with no prebuilt xlings must fall through quietly,
406406
# while the helper retries a 404 five times before giving up. The one
@@ -409,9 +409,9 @@ jobs:
409409
# cover it.
410410
if curl -fsSL --retry 3 --retry-delay 2 --retry-all-errors \
411411
--connect-timeout 20 --max-time 600 -o "/tmp/$XLA" \
412-
"https://github.com/openxlings/xlings/releases/download/v2026.10.16.1/$XLA"; then
412+
"https://github.com/openxlings/xlings/releases/download/v2026.10.16.2/$XLA"; then
413413
tar -xzf "/tmp/$XLA" -C /tmp
414-
XLBIN=$(find /tmp/xlings-2026.10.16.1-linux-aarch64 -path '*/bin/xlings' -type f | head -1)
414+
XLBIN=$(find /tmp/xlings-2026.10.16.2-linux-aarch64 -path '*/bin/xlings' -type f | head -1)
415415
if [ -n "$XLBIN" ]; then
416416
mkdir -p "$STAGING/$WRAPPER/registry/bin"
417417
cp "$XLBIN" "$STAGING/$WRAPPER/registry/bin/xlings"
@@ -489,7 +489,7 @@ jobs:
489489
- name: Bootstrap mcpp via xlings
490490
env:
491491
XLINGS_NON_INTERACTIVE: '1'
492-
XLINGS_VERSION: '2026.10.16.1'
492+
XLINGS_VERSION: '2026.10.16.2'
493493
run: |
494494
# By version, not by presence (see the Linux job).
495495
have=$("$HOME/.xlings/subos/default/bin/xlings" --version 2>/dev/null | awk '{print $2}')
@@ -676,7 +676,7 @@ jobs:
676676
shell: bash
677677
env:
678678
XLINGS_NON_INTERACTIVE: '1'
679-
XLINGS_VERSION: '2026.10.16.1'
679+
XLINGS_VERSION: '2026.10.16.2'
680680
run: |
681681
# Captured before the `cd` below, in POSIX form: this step never
682682
# returns to the workspace, and GITHUB_WORKSPACE is a backslash

‎CHANGELOG.md‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,17 @@
44
> Each `## [<version>]` section is that release's notes. Entries are written in English
55
> from 2026.9.28.3 on; earlier entries remain as written.
66

7+
## [2026.10.16.2] - 2026-10-17
8+
9+
### Changed
10+
11+
- Bundle xlings 2026.10.16.2 (openxlings/xlings#677). Inside a Luban system,
12+
`mcpp build` uses the system's gcc: the registry builds its catalog there
13+
(a Landlock write fence stands in for bwrap, which cannot start inside a
14+
system), and a home that names upstreams borrows through them alone, so the
15+
borrowed toolchain has an entry in the registry's store. Before, the build
16+
stopped at `Bootstrap patchelf/ninja ... did not complete`.
17+
718
## [2026.10.16.1] - 2026-10-16
819

920
### Added

‎mcpp.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mcpp"
3-
version = "2026.10.16.1"
3+
version = "2026.10.16.2"
44
description = "Modern C++ build & package management tool"
55
license = "Apache-2.0"
66
authors = ["mcpp-community"]

0 commit comments

Comments
 (0)