用途:在 Linux 上按既定流程为 XerahS(.NET/Avalonia 项目)构建并打包 x64 与 ARM64 安装包,同时处理打包过程中常见的失败与诊断。
主要能力:调用打包脚本生成 .deb(以及安装了 rpmbuild 时的 .rpm)产物;校验 dist/ 下产物大小与时间戳;诊断 Avalonia XAML 预编译静默失败、文件占用锁、并行发布竞争、插件未发布等问题;处理 ARM64 交叉编译与 SkiaSharp 原生库相关症状。
使用方式:先遵循 build-common 的共享约束(超时、锁恢复、禁止并发构建、-m:1、TFM、SkiaSharp 规则),构建锁定的子模块版本。随后运行: bash build/linux/package-linux.sh > build_output.log 2>&1 若宿主缓冲输出,需重定向到日志并另行查看。构建完成后校验:ls -lh dist/。
关键参数:主程序使用 -p:PublishSingleFile=true --self-contained true;-p:OS=Linux -p:DefineConstants=LINUX;交叉编译需 -p:EnableWindowsTargeting=true;插件以 --no-self-contained 发布以共享运行时。架构按 linux-x64、linux-arm64 顺序串行处理。
限制与注意:严禁同时运行两个构建;ShareX.ImageEditor 多 TFM 并行会争用同一输出路径,必要时用 /m:1 单独预编译。不要用 & 后台运行脚本,除非重定向到日志;确认停滞的构建需按 build-common 只取消该任务相关进程。成功标准为生成 x64 与 arm64 的 .deb(约 90-120MB)、时间戳新近、无残留进程、启动无 XamlLoadException。原文未提供许可证、价格或支持平台等更多信息。