Push261016 — #36 seccomp 修复 + v2 2.0.28–2.0.31 + v1 1.19.1–1.19.3
GitHub Release · 中文版 · English · Español · 日本語 · 繁體中文
概览
本批两件事:
- #36 修复(seccomp 加固):部分 native 包的 crhandler shim 从未被 interpose(DT_NEEDED 缺失)——Android 12 的 seccomp 策略拦截 close_range 时进程启动即 SIGSYS(连 --version 都跑不了)。根因是 harden 接线三处断链(v1 family-native 未调用 harden-native;v2 直构路径绕过;compressed 工具压未手术件)。已修复并重打包受影响版本(shim 现以零位移手术插为 DT_NEEDED[0],随包发货)。
- 新版本:v2 2.0.28–2.0.31(4 版)+ v1 1.19.1–1.19.3(3 版),三族齐发(native / UPX-compressed / wrapper 仅 deb)。
84 件资产:83 包 + SHA256SUMS.txt。
已知问题
- 老内核(< 4.x,如 Android 9 的 3.18.x):opencode 1.18.35 及以上(v1,含 1.19.x 线)与所有 v2 版本的交互式 TUI 在启动即 SIGSEGV(rc 139)崩溃,TUI 不可用;CLI 模式不受影响。
- 规避方法:老内核上要么留在 1.18.34
及以下(TUI 在 3.18.140 实测稳定),要么使用 1.19.3
native 混合件(新版 CLI + 1.18.34 的 OpenTUI 渲染库):加
--force-tui即可恢复 TUI;不加时 launcher 会探测到老内核并自动降级为 CLI 模式,同时给出中英双语提示。混合件仅出货 native deb/pacman——compressed(UPX)变体不发布(UPX×graft 为已知必崩组合)。
重打包清单(#36 修复,同版本加固)
| 家族 | 版本 | 格式 |
|---|---|---|
| opencode(v2 native) | 2.0.23–2.0.27 | deb + .pkg.tar.xz |
| opencode1(v1 native) | 1.18.30–1.18.34、1.18.35、1.19.0 | deb + .pkg.tar.xz |
| opencode-compressed | 2.0.23–2.0.27 | deb + .pkg.tar.gz |
| opencode1-compressed | 1.18.30–1.18.34、1.18.35、1.19.0 | deb + .pkg.tar.gz |
新版本清单
| 家族 | 版本 | 格式 |
|---|---|---|
| opencode(v2 native) | 2.0.28–2.0.31 | deb + .pkg.tar.xz |
| opencode1(v1 native) | 1.19.1–1.19.3 | deb + .pkg.tar.xz |
| opencode-compressed | 2.0.28–2.0.31 | deb + .pkg.tar.gz |
| opencode1-compressed | 1.19.1–1.19.3 | deb + .pkg.tar.gz |
| opencode-wrapper | 2.0.28–2.0.31 | 仅 deb |
| opencode1-wrapper | 1.19.1–1.19.3 | 仅 deb |
全部首发布 rel=1;v2 native 源码编译(opentui 按上游 catalog 分钉);v1 native transplant 复活(bun 1.4.0,predict 7/7 通过)。每包过三道冒烟 + 上传三重核验。
同代互斥:同代 native / wrapper / compressed 三选一;跨代 opencode1* 与 opencode* 可共存;v1 包 < 2.0.0,v2 包 >= 2.0.0。
安装
pacman -U ./opencode-2.0.31-1-aarch64.pkg.tar.xz dpkg -i ./opencode_2.0.31_aarch64.deb
验证
- 版本连续性:v2 2.0.0–2.0.31、v1 1.18.8–1.18.35 + 1.19.0–1.19.3
- SHA256SUMS.txt 覆盖全部 83 包:sha256sum -c SHA256SUMS.txt
- 加固抽验:readelf -dW usr/lib/opencode/runtime/opencode | grep crhandler(compressed 先 upx -d)应见 libopencode-crhandler.so