diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d7c21f4..7c2ffd3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -359,6 +359,107 @@ jobs: "$PKG_ROOT" \ "dist/TgWsProxy_linux_amd64.deb" + - name: Create .rpm package + run: | + set -euo pipefail + VERSION="${{ github.event.inputs.version }}" + VERSION="${VERSION#v}" + RPM_ROOT="rpmbuild" + RPM_BUILDROOT="$RPM_ROOT/BUILDROOT/tg-ws-proxy-${VERSION}-1.x86_64" + + rm -rf "$RPM_ROOT" + mkdir -p \ + "$RPM_BUILDROOT/usr/bin" \ + "$RPM_BUILDROOT/usr/share/applications" \ + "$RPM_BUILDROOT/usr/share/icons/hicolor/256x256/apps" + + install -m 755 dist/TgWsProxy_linux_amd64 "$RPM_BUILDROOT/usr/bin/tg-ws-proxy" + + .venv/bin/python - < "$RPM_BUILDROOT/usr/share/applications/tg-ws-proxy.desktop" < "$RPM_ROOT/SPECS/tg-ws-proxy.spec" < /dev/null || : + fi + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache -q /usr/share/icons/hicolor &> /dev/null || : + fi + + %postun + if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database &> /dev/null || : + fi + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache -q /usr/share/icons/hicolor &> /dev/null || : + fi + EOF + + cd "$RPM_ROOT" + rpmbuild --define "_topdir $(pwd)" \ + --define "_builddir $(pwd)" \ + --define "_rpmdir $(pwd)/RPMS" \ + --define "_sourcedir $(pwd)" \ + --define "_specdir $(pwd)/SPECS" \ + --define "_srcrpmdir $(pwd)/SRPMS" \ + --define "_buildrootdir $(pwd)/BUILDROOT" \ + -bb SPECS/tg-ws-proxy.spec + + cd .. + cp "$RPM_ROOT/RPMS/x86_64/tg-ws-proxy-${VERSION}-1.x86_64.rpm" dist/TgWsProxy_linux_amd64.rpm + - name: Upload artifact uses: actions/upload-artifact@v7 with: @@ -366,6 +467,7 @@ jobs: path: | dist/TgWsProxy_linux_amd64 dist/TgWsProxy_linux_amd64.deb + dist/TgWsProxy_linux_amd64.rpm release: needs: [build-windows, build-win7, build-macos, build-linux] @@ -392,6 +494,7 @@ jobs: dist/TgWsProxy_macos_universal.dmg dist/TgWsProxy_linux_amd64 dist/TgWsProxy_linux_amd64.deb + dist/TgWsProxy_linux_amd64.rpm draft: false prerelease: false env: