Files
navop/script/package-linux-gpu-stack.sh
T
胡飞 e38a35df99 build(linux): 渲染依赖独立成包,便携版改为同一二进制加标记文件
- 新增 script/package-linux-gpu-stack{,.py,-build.sh,-docker.sh} 与
  script/linux-gpu-stack-install.sh:在 Rocky 8 容器里收集 Mesa/EGL/LLVM
  闭包,产出 navop-<version>-linux-<x64|arm64>-gpu-stack.tar.gz;安装脚本
  按 ldconfig 只补宿主缺失的库,支持 --dry-run/--force/--uninstall,卸载
  只回放自己安装过的文件
- 删除 Linux portable 变体:musl 启动器 script/linux-portable-launcher.c、
  script/package-linux-portable.{py,sh},发布矩阵移除 linux-x64-portable
  与 linux-arm64-portable
- Linux 应用包统一为默认 feature 的裸二进制,构建走
  cargo zigbuild --target <triple>.2.28,不再拆 --no-default-features 分支
- 便携包回归:Package (Linux) 用同一个二进制平铺、加一个空的
  navop.portable 标记打成 -portable.tar.gz,不新增矩阵项、不二次编译
- upload-r2.yml 的 targetFor() 识别 -portable./-gpu-stack. 后缀并映射到
  对应 target,避免这两类资产被归入 universal
- 三语言 install-update.md 更新下载表,新增图形依赖包与便携版说明
- 重写 script/test-release-packaging.mjs:退役 portable 打包器用例,新增
  依赖包三方契约、便携标记跨平台锁定、install.sh 增量卸载等断言
2026-09-22 13:45:05 +08:00

28 lines
772 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
script_dir="$(
cd -- "$(dirname -- "${BASH_SOURCE[0]}")"
pwd
)"
# The packager needs dataclasses and PEP 585 annotations. RHEL 8 images still
# default to Python 3.6, so pick the newest interpreter that qualifies instead
# of trusting the bare "python3" name.
python=""
for candidate in python3.13 python3.12 python3.11 python3.10 python3.9 python3; do
command -v "$candidate" >/dev/null 2>&1 || continue
if "$candidate" -c 'import sys; raise SystemExit(0 if sys.version_info >= (3, 9) else 1)'; then
python="$candidate"
break
fi
done
if [ -z "$python" ]; then
echo "Error: python 3.9 or newer is required to package the GPU stack" >&2
exit 1
fi
exec "$python" "$script_dir/package-linux-gpu-stack.py" "$@"