diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index f3aee2277..1fa52ba5a 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -29,7 +29,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update - sudo apt-get install -y clang cmake libgtk-3-dev ninja-build libayatana-appindicator3-dev unzip webkit2gtk-4.1 libasound2-dev + sudo apt-get install -y clang cmake libgtk-3-dev ninja-build libayatana-appindicator3-dev unzip webkit2gtk-4.1 libasound2-dev rpm patchelf sudo apt-get install -y gcc g++ autoconf automake debhelper glslang-dev ladspa-sdk xutils-dev libasound2-dev \ libarchive-dev libbluray-dev libbs2b-dev libcaca-dev libcdio-paranoia-dev libdrm-dev \ libdav1d-dev libdvdnav-dev libegl1-mesa-dev libepoxy-dev libfontconfig-dev libfreetype6-dev \ @@ -106,6 +106,85 @@ jobs: dpkg-deb --build --verbose --root-owner-group "PiliPlus_linux_${{ env.version }}_amd64" printf "完成: PiliPlus_linux_%s_amd64.deb\n" "${{ env.version }}" shell: bash + + - name: Packege rpm + run: | + printf "建立 RPM 构建目录...\n" + RPM_BUILD_ROOT="$PWD/rpm_build" + mkdir -p "$RPM_BUILD_ROOT/BUILD" "$RPM_BUILD_ROOT/RPMS" "$RPM_BUILD_ROOT/SOURCES" "$RPM_BUILD_ROOT/SPECS" "$RPM_BUILD_ROOT/SRPMS" + + printf "准备源码归档(仅包含运行时与元数据)...\n" + DATE="$(date '+%a %b %d %Y')" + SRC_DIR="$PWD/piliplus-${{ env.version }}" + mkdir -p "$SRC_DIR/bundle" "$SRC_DIR/assets" + cp -r build/linux/x64/release/bundle/* "$SRC_DIR/bundle/" + cp assets/linux/piliplus.desktop "$SRC_DIR/assets/piliplus.desktop" + cp assets/images/logo/logo.png "$SRC_DIR/assets/piliplus.png" + tar -zcvf "$RPM_BUILD_ROOT/SOURCES/piliplus-${{ env.version }}.tar.gz" -C "$PWD" "piliplus-${{ env.version }}" + + printf "生成 spec 文件...\n" + cat > "$RPM_BUILD_ROOT/SPECS/piliplus.spec" <