From ba21658c4a51c105a2fc4e51fc19eea98f4a2b09 Mon Sep 17 00:00:00 2001 From: Sylvester Alderson <51517881+SylvesterFox@users.noreply.github.com> Date: Wed, 15 Apr 2026 11:18:19 +0300 Subject: [PATCH 1/3] Update build.yml --- .github/workflows/build.yml | 103 ++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d7c21f40..7c2ffd3b 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: From dbbe01237c778db35475ab67abfd32dcbbb4c091 Mon Sep 17 00:00:00 2001 From: Sylvester Alderson <51517881+SylvesterFox@users.noreply.github.com> Date: Wed, 15 Apr 2026 11:26:39 +0300 Subject: [PATCH 2/3] Update build.yml --- .github/workflows/build.yml | 120 +++++++++++++++--------------------- 1 file changed, 48 insertions(+), 72 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7c2ffd3b..8fcaf06a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -358,33 +358,36 @@ jobs: dpkg-deb --build --root-owner-group \ "$PKG_ROOT" \ "dist/TgWsProxy_linux_amd64.deb" - - - name: Create .rpm package + + - name: Create .rpm package with fpm 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" - + + # Устанавливаем fpm через gem + sudo gem install fpm + + # Создаем временную директорию + mkdir -p rpm_package/usr/bin + mkdir -p rpm_package/usr/share/applications + mkdir -p rpm_package/usr/share/icons/hicolor/256x256/apps + + # Копируем файлы + cp dist/TgWsProxy_linux_amd64 rpm_package/usr/bin/tg-ws-proxy + chmod 755 rpm_package/usr/bin/tg-ws-proxy + + # Создаем иконку .venv/bin/python - < "$RPM_BUILDROOT/usr/share/applications/tg-ws-proxy.desktop" < rpm_package/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 + + # Создаем скрипты post-install + cat > post_install.sh < /dev/null || : fi @@ -446,19 +411,30 @@ jobs: /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 + + chmod +x post_install.sh + + # Создаем RPM с помощью fpm + fpm -s dir \ + -t rpm \ + -n tg-ws-proxy \ + -v ${VERSION} \ + --iteration 1 \ + --architecture x86_64 \ + --license "Proprietary" \ + --vendor "Flowseal" \ + --maintainer "Flowseal" \ + --url "https://github.com/Flowseal/tg-ws-proxy" \ + --description "MTProto/WebSocket bridge proxy for Telegram Desktop with tray UI." \ + --depends "libgtk-3.so.0()(64bit)" \ + --depends "libayatana-appindicator3.so.1()(64bit)" \ + --depends "python3-tkinter" \ + --after-install post_install.sh \ + --after-remove post_install.sh \ + -C rpm_package \ + . + + mv tg-ws-proxy-${VERSION}-1.x86_64.rpm dist/TgWsProxy_linux_amd64.rpm - name: Upload artifact uses: actions/upload-artifact@v7 From 3c6a3acbbcb7c95809b871fa7596ab31440f30f3 Mon Sep 17 00:00:00 2001 From: Sylvester Alderson <51517881+SylvesterFox@users.noreply.github.com> Date: Sat, 18 Apr 2026 14:36:31 +0300 Subject: [PATCH 3/3] Clean up comments in build.yml Removed comments in the build script for clarity. --- .github/workflows/build.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8fcaf06a..fbab92a9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -365,19 +365,15 @@ jobs: VERSION="${{ github.event.inputs.version }}" VERSION="${VERSION#v}" - # Устанавливаем fpm через gem sudo gem install fpm - # Создаем временную директорию mkdir -p rpm_package/usr/bin mkdir -p rpm_package/usr/share/applications mkdir -p rpm_package/usr/share/icons/hicolor/256x256/apps - # Копируем файлы cp dist/TgWsProxy_linux_amd64 rpm_package/usr/bin/tg-ws-proxy chmod 755 rpm_package/usr/bin/tg-ws-proxy - # Создаем иконку .venv/bin/python - < rpm_package/usr/share/applications/tg-ws-proxy.desktop < post_install.sh <