Files
TamaASR/packaging/rpm/build-rpm.sh
T
MeloriseandCodex dd9123deda build: 添加 Linux 多发行版打包能力
提供 Electron 目录包、统一安装树、deb、rpm、Arch/pacman 和 Nix flake 配置,并随包安装 desktop、图标、自启动项与 Fcitx5 addon。

AI-assisted-by: Codex
AI-model: gpt-5.6-sol
AI-reasoning-effort: medium
Co-authored-by: Codex <codex@openai.com>
2026-08-23 02:34:57 +08:00

27 lines
918 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
project_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)"
version="${MELOASR_VERSION:-0.1.0}"
app_dir="${1:-${project_dir}/release/linux-unpacked}"
stage_dir="${project_dir}/packaging/out/rpm-root"
top_dir="${project_dir}/packaging/out/rpmbuild"
command -v rpmbuild >/dev/null || {
echo "未找到 rpmbuild,请先安装 RPM 构建工具。" >&2
exit 1
}
rm -rf -- "${stage_dir}" "${top_dir}"
"${project_dir}/packaging/scripts/stage-linux.sh" "${app_dir}" "${stage_dir}"
mkdir -p "${top_dir}"/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
tar -C "${stage_dir}" -czf "${top_dir}/SOURCES/meloasr-root.tar.gz" .
rpmbuild -bb \
--define "_topdir ${top_dir}" \
--define "meloasr_version ${version}" \
"${project_dir}/packaging/rpm/meloasr-binary.spec"
find "${top_dir}/RPMS" -type f -name '*.rpm' -exec cp -f {} "${project_dir}/packaging/out/" \;