diff --git a/.github/workflows/flutter-nightly.yml b/.github/workflows/flutter-nightly.yml index fdbced00a..f2391e77e 100644 --- a/.github/workflows/flutter-nightly.yml +++ b/.github/workflows/flutter-nightly.yml @@ -120,6 +120,13 @@ jobs: - name: Checkout source code uses: actions/checkout@v3 + - name: Get build target triple + uses: jungwinter/split@v2 + id: build-target-triple + with: + separator: '-' + msg: ${{ matrix.job.target }} + - name: Install prerequisites run: | case ${{ matrix.job.target }} in @@ -250,19 +257,25 @@ jobs: files: | res/rustdesk*.zst - # - name: build RPM package - # id: rpm - # uses: Kingtous/rustdesk-rpmbuild@master - # with: - # spec_file: "res/rpm-flutter.spec" + - name: Make RPM package + shell: bash + if: ${{ matrix.job.extra-build-args == '' }} + run: | + sudo apt install -y rpm + HBB=`pwd` rpmbuild ./res/rpm-flutter.spec -bb + pushd ~/rpmbuild/RPMS/${{ steps.build-target-triple.outputs._0 }} + for name in rustdesk*??.rpm; do + mv "$name" "${name%%.rpm}-fedora28-centos8.rpm" + done - # - name: Publish fedora28/centos8 package - # uses: softprops/action-gh-release@v1 - # with: - # prerelease: true - # tag_name: ${{ env.TAG_NAME }} - # files: | - # ${{ steps.rpm.outputs.rpm_dir_path }}/* + - name: Publish fedora28/centos8 package + if: ${{ matrix.job.extra-build-args == '' }} + uses: softprops/action-gh-release@v1 + with: + prerelease: true + tag_name: ${{ env.TAG_NAME }} + files: | + /home/runner/rpmbuild/RPMS/${{ steps.build-target-triple.outputs._0 }}/*.rpm build-flatpak: name: Build Flatpak diff --git a/res/rpm-flutter.spec b/res/rpm-flutter.spec index a01926baa..2ba1cbfa4 100644 --- a/res/rpm-flutter.spec +++ b/res/rpm-flutter.spec @@ -3,8 +3,8 @@ Version: 1.2.0 Release: 0 Summary: RPM package License: GPL-3.0 -Requires: gtk3 libxcb libxdo libXfixes pipewire alsa-lib curl libappindicator libvdpau1 libva2 - +Requires: gtk3 libxcb libxdo libXfixes pipewire alsa-lib curl libappindicator-gtk3 libvdpau libva +Provides: libdesktop_drop_plugin.so()(64bit), libdesktop_multi_window_plugin.so()(64bit), libflutter_custom_cursor_plugin.so()(64bit), libflutter_linux_gtk.so()(64bit), libscreen_retriever_plugin.so()(64bit), libtray_manager_plugin.so()(64bit), liburl_launcher_linux_plugin.so()(64bit), libwindow_manager_plugin.so()(64bit), libwindow_size_plugin.so()(64bit) %description The best open-source remote desktop client software, written in Rust. @@ -19,17 +19,14 @@ The best open-source remote desktop client software, written in Rust. %install -mkdir -p "${buildroot}/usr/lib/rustdesk" && cp -r ${HBB}/flutter/build/linux/x64/release/bundle/* -t "${buildroot}/usr/lib/rustdesk" -mkdir -p "${buildroot}/usr/bin" -pushd ${buildroot} && ln -s /usr/lib/rustdesk/rustdesk usr/bin/rustdesk && popd -install -Dm 644 $HBB/res/rustdesk.service -t "${buildroot}/usr/share/rustdesk/files" -install -Dm 644 $HBB/res/rustdesk.desktop -t "${buildroot}/usr/share/rustdesk/files" -install -Dm 644 $HBB/res/rustdesk-link.desktop -t "${buildroot}/usr/share/rustdesk/files" -install -Dm 644 $HBB/res/128x128@2x.png "${buildroot}/usr/share/rustdesk/files/rustdesk.png" - +mkdir -p "%{buildroot}/usr/lib/rustdesk" && cp -r ${HBB}/flutter/build/linux/x64/release/bundle/* -t "%{buildroot}/usr/lib/rustdesk" +mkdir -p "%{buildroot}/usr/bin" +install -Dm 644 $HBB/res/rustdesk.service -t "%{buildroot}/usr/share/rustdesk/files" +install -Dm 644 $HBB/res/rustdesk.desktop -t "%{buildroot}/usr/share/rustdesk/files" +install -Dm 644 $HBB/res/rustdesk-link.desktop -t "%{buildroot}/usr/share/rustdesk/files" +install -Dm 644 $HBB/res/128x128@2x.png "%{buildroot}/usr/share/rustdesk/files/rustdesk.png" %files -/usr/bin/rustdesk /usr/lib/rustdesk/* /usr/share/rustdesk/files/rustdesk.service /usr/share/rustdesk/files/rustdesk.png @@ -56,6 +53,7 @@ esac cp /usr/share/rustdesk/files/rustdesk.service /etc/systemd/system/rustdesk.service cp /usr/share/rustdesk/files/rustdesk.desktop /usr/share/applications/ cp /usr/share/rustdesk/files/rustdesk-link.desktop /usr/share/applications/ +ln -s /usr/lib/rustdesk/rustdesk /usr/bin/rustdesk systemctl daemon-reload systemctl enable rustdesk systemctl start rustdesk @@ -80,6 +78,7 @@ case "$1" in # for uninstall rm /usr/share/applications/rustdesk.desktop || true rm /usr/share/applications/rustdesk-link.desktop || true + rm /usr/bin/rustdesk || true update-desktop-database ;; 1)