Skip to content

Commit 2f70339

Browse files
committed
fix: install the published CN engine in global scope
1 parent c976c70 commit 2f70339

3 files changed

Lines changed: 120 additions & 4 deletions

File tree

‎.agents/docs/2026-10-08-llvm-2313-part2-execution-and-dependencies.md‎

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,3 +455,116 @@ Ubuntu 的 `bwrap` 可执行文件由 `bubblewrap` 包供应。正式 CN 工作
455455
mcpp-index 提交为 `b2f1e693248042c445c75fb020d49c428e6a1f78`。
456456
随后源码换行属性与 CN 包名修正不改变此原生引擎及应用源码的行为;
457457
该证据仍不替代最终四宿主目标运行与公开 CN 发布消费。
458+
459+
## 21. 2026-10-08 原生验收与验证作用域补充
460+
461+
提交 `c976c704` 的主 CI `37718202213` 已结束,结果为 44 项通过、
462+
4 项失败、3 项跳过。Linux 单测为 147/147,子系统测试、bare Windows
463+
及普通 ARM64 fresh-install 通过。三个非 ARM 构建宿主各完成原有
464+
示例与 JSON/线程应用的三个目标构建。三条 ARM 失败发生在旧公开
465+
索引的 x86_64 glibc/LLVM 安装阶段;矩阵覆盖失败来自扫描任务因
466+
上游失败而跳过。此结果尚不满足合入条件。
467+
468+
独立检查保留这三个宿主的 18 个真实产物,运行时提交为
469+
`b4198d346cf0682c95dc0e51b5c32b096843ee83`,索引提交为
470+
`b2f1e693248042c445c75fb020d49c428e6a1f78`,应用源码摘要均为
471+
`cc93548236b09d1d6ea388753782069fc847642b98678c2db94b74c4054c6a6b`。
472+
ELF 静态闭包、Mach-O 的 libSystem 依赖及 PE 的五个 OS DLL 依赖
473+
通过检查。三个宿主生成的 Linux 原始示例与 JSON/线程应用均在
474+
本地实际运行通过;Windows/macOS 目标运行仍由后续目标系统门承担。
475+
476+
旧客户端补充试验确认验证作用域不能仅由私有存储目录推定。
477+
从共享项目目录启动会读取项目 `.xlings.json`;`-u` 表示激活,
478+
`-g` 才表示全局作用域。正式 CN 验证显式采用 `-g` 安装公开
479+
mcpp 版本,本地冷目录脚本同样显式安装其 bwrap 后端。当前客户端
480+
`2026.10.8.1` 的实际帮助输出已确认这两项参数语义。
481+
482+
## 22. 2026-10-08 旧客户端独立兼容性补充
483+
484+
公开客户端 `2026.8.10.1` 的归档 SHA256 为
485+
`336b92af2507d54457c3f7836cb93846727903d78a8f75c54142e3d8b57b87c1`。
486+
在全新私有 `XLINGS_HOME` 与非项目工作目录中,保留原有 `HOME`,
487+
使用精确索引 `84c27c3014e676f2175868627b93494d6bd442e8` 的配方
488+
和共享库,显式 `install xim:llvm@23.1.3 -y -g`。实际安装 glibc、
489+
gcc-runtime、Linux UAPI、zlib、libxml2 与 LLVM 六项依赖成功。
490+
491+
LLVM 实际版本为 23.1.3,使用生成的 `clang++.cfg`。C++23 I/O 与
492+
Linux UAPI 程序在移除 `LD_LIBRARY_PATH`、`LD_PRELOAD` 后编译和
493+
运行成功,输出 `PATH_MAX` 值 4096。编译器的系统头文件搜索路径
494+
均来自该私有目录中的 LLVM、libc++、glibc、Linux UAPI 与资源目录。
495+
31 个 ELF、6 个外部 soname 的依赖闭包检查通过。安装器仍调用
496+
宿主 `/usr/bin/patchelf`;此记录不声明安装工具也全部来自私有目录。
497+
498+
该验证使用尚未提交的闭包检查器摘要
499+
`da729a28f870dccedae0fab759c2d4c744a341d4606492b4ece5c6a4a293189d`。
500+
更正仅以遍历键计数替代 Bash 5.2 `nounset` 下空关联数组的长度
501+
读取,保留闭包规则及退出码。glibc 的 293 个 ELF、0 个外部 soname
502+
也实际通过;原检查器在该空集合中会报错后继续运行,不能据其
503+
成功退出推断此分支完整执行。补充结果不替代原始 CI,也不替代
504+
公开索引发布后的兼容性与 ARM64 默认工具链验收。
505+
506+
## 23. 2026-10-08 上游 glibc 修订整合与数据门
507+
508+
公开索引主线提交 `ebf1fbb3417ec513b923279044433887b3af8850`
509+
合入 [xim-pkgindex #940](https://github.com/openxlings/xim-pkgindex/pull/940),
510+
发布两架构的 glibc revision 2,增加逻辑根目录的 cache/preload 边界。
511+
本分支按正常合并历史整合该变更。GLOBAL 与 CN 的两个 revision 2
512+
归档完整下载及哈希检查通过,但两架构归档均缺少本轮要求的东京/
513+
UTC 时区、已编译 C.utf8、许可证及构建来源清单。离线归档检查
514+
明确失败;该结果不推断安装钩子生成 locale 后的实际行为。
515+
516+
revision 3 保留 revision 2 的逻辑根修复,并补齐运行数据与清单。
517+
仅 glibc 在两个原生架构重建,LLVM 等八个未变归档按原构建来源和
518+
逐文件 SHA256 复用。受限复用模式单独验证新 glibc 的成功构建来源、
519+
构建源码一致性、双镜像字节与库存,默认的完整构建来源检查保留。
520+
构建来源及归档检查不能替代组合后的原生消费验收。
521+
522+
最初的 revision 3 归档门错误地要求时区条目为物理普通文件,拒绝
523+
tar 中合法的 UTC 硬链接;其前置原生数据与 cache/preload 门均通过。
524+
更正后的库存检查读取归档内链接指向的实际内容,并拒绝缺失、空
525+
内容、越出载荷根目录及循环链接。五个真实 tar 回归验证该规则。
526+
运行 [37734176881](https://github.com/openxlings/xim-pkgindex/actions/runs/37734176881)
527+
在提交 `e8f330d45b2b5ca57c608e7ec8d40d6170502cf1` 上,两架构
528+
原生构建、数据门、cache/preload 门和库存检查全部通过。资源发布、
529+
真实哈希激活及最终索引消费门另行记录。
530+
531+
原始索引 job `113066636361` 的最终注记明确说明超过六小时总限;
532+
APT 工具准备阶段没有输出,后续配方安装未开始,不能归因为网络
533+
或其中某条 APT 命令。工具准备增加有界超时后,真正 PR 差异运行
534+
`37733524995` 实际执行七个改动配方的安装、卸载与闭包检查并通过,
535+
工具准备耗时九秒。仅比较上一提交的 push 运行不计作此门的替代。
536+
537+
538+
## 24. 2026-10-08 revision 3 最终资源与原生消费验收
539+
540+
索引候选提交 `6dbec70fce50f6505b00a4c07ee9709db23c62e1` 的最终
541+
检查为 23 项成功、3 项条件跳过、0 项失败。真正 PR 差异安装运行
542+
[37735969006](https://github.com/openxlings/xim-pkgindex/actions/runs/37735969006)
543+
通过。原生组合验收运行
544+
[37735965909](https://github.com/openxlings/xim-pkgindex/actions/runs/37735965909)
545+
及 PR 原生验收 `37735969034` 均通过;两架构 glibc 运行检查
546+
`37735969038` 通过。这些结果采用实际发布的 revision 3 配方。
547+
548+
| 资源 | 字节数 | SHA256 |
549+
|---|---:|---|
550+
| `glibc-2.44.3-r3-linux-aarch64.tar.gz` | 35,500,275 | `33d015ddd07c84d82b8c7cfbe6cf920222d0754c7c777f3818c78c764de5461e` |
551+
| `glibc-2.44.3-r3-linux-x86_64.tar.gz` | 38,371,568 | `2fe32c53a40885ec6d3322135df19dc4fe65835b093b03bfa41502c1eb7abffa` |
552+
553+
以上摘要按源构建、GitHub 资产元数据、GLOBAL 与 CN 完整下载字节
554+
核对一致。资源已经发布不等于索引已经发布;公开索引指针与最低
555+
客户端版本仍须在合入后的发布流水线实际核查。
556+
557+
mcpp 原生 GNU 验收
558+
[37736041779](https://github.com/mcpp-community/mcpp/actions/runs/37736041779)
559+
使用引擎提交 `c976c70482ec9c4320160e125dd7611454fa5738` 和上述
560+
精确索引提交,147 个测试全部通过,四个索引成员均通过,原生
561+
JSON 与 TLS/并发异常应用实际运行通过。父 mcpp sandbox 与 xlings
562+
缓存均未命中,新建父 sandbox 实际安装受管 glibc,GNU 自举产物
563+
使用该目录中的 ARM64 loader。安装 stdout 未直接记录归档 URL、
564+
revision 或摘要;revision 3 身份由精确候选索引的资源钉、父缓存
565+
未命中和全新安装链证明,不能表述为 stdout 直接测得归档摘要。
566+
567+
索引 PR #938 的普通合入被 GitHub ruleset #3055837 拒绝。规则
568+
要求两位 reviewer、code owner、最后推送批准、签名及线性历史;
569+
仓库不支持自动合入。最终源码检查通过不替代 review 规则。当前
570+
等待维护者决定合入途径,尚未声称公开索引消费或最终发布闭环完成。

‎.github/tools/check_published_arm64_cn_ecosystem.sh‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export MCPP_VENDORED_XLINGS="$xl"
2121
export MCPP_E2E_MIRROR=CN MCPP_E2E_LLVM_VERSION=23.1.3 MCPP_E2E_EXPECT_ARCH=aarch64
2222
unset LD_LIBRARY_PATH LD_PRELOAD MCPP_TOOLCHAIN
2323
"$xl" config --mirror CN
24-
"$xl" install "mcpp@$version" -y -u
24+
"$xl" install "mcpp@$version" -g -y -u
2525
MCPP="$base/data/xpkgs/xim-x-mcpp/$version/bin/mcpp"
2626
[[ -x "$MCPP" ]] || { echo "mcpp not executable: $MCPP"; exit 1; }
2727
export MCPP

‎.github/workflows/openkal-cross.yml‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ name: openkal cross-build (4 hosts × 3 targets)
3131
#
3232
# ── The shape ──────────────────────────────────────────────────────────────
3333
#
34-
# FOUR build jobs, one per host, each producing THREE artefacts — twelve builds.
34+
# FOUR build jobs, one per host, each producing two applications for THREE
35+
# targets — twenty-four binaries across twelve host/target cells.
3536
# THREE run jobs, one per system, each executing the artefact FOR that system
3637
# produced by ALL FOUR hosts, including native Linux ARM64.
3738
#
@@ -49,10 +50,12 @@ name: openkal cross-build (4 hosts × 3 targets)
4950
# toolchain step is ever added to one of them because "the program needs it",
5051
# that is the finding rather than the fix.
5152
#
52-
# AND THE ASSERTION IS ON THE OUTPUT, NOT THE EXIT STATUS. The program prints
53-
# four lines, and `unwound: true` is the one a link cannot fake: it says a
53+
# AND THE ASSERTION IS ON THE OUTPUT, NOT THE EXIT STATUS. The original program
54+
# prints four lines, and `unwound: true` is the one a link cannot fake: it says a
5455
# destructor ran while an exception was being carried out of a frame, which
5556
# means the unwinder found this image's own frame descriptions.
57+
# The companion also requires its JSON and TLS/thread/concurrent unwind
58+
# success lines on each target system.
5659

5760
on:
5861
workflow_call:

0 commit comments

Comments
 (0)