From 400911f78235469537e966f15f8e0d78c8663f56 Mon Sep 17 00:00:00 2001 From: Kingtous Date: Tue, 8 Nov 2022 11:16:48 +0800 Subject: [PATCH] refactor: change ayaindicator to appindicator --- .github/workflows/flutter-ci.yml | 2 +- .github/workflows/flutter-nightly.yml | 55 ++++++++++++++++++++++++++- .gitignore | 1 + Cargo.toml | 2 +- README.md | 2 +- flatpak/rustdesk.json | 33 ++++++++++++++++ flatpak/rustdesk.yml | 31 --------------- res/PKGBUILD | 2 +- res/rpm-flutter.spec | 2 +- res/rpm.spec | 4 +- 10 files changed, 94 insertions(+), 40 deletions(-) create mode 100644 flatpak/rustdesk.json delete mode 100644 flatpak/rustdesk.yml diff --git a/.github/workflows/flutter-ci.yml b/.github/workflows/flutter-ci.yml index 8b58db83f..7825286bd 100644 --- a/.github/workflows/flutter-ci.yml +++ b/.github/workflows/flutter-ci.yml @@ -38,7 +38,7 @@ jobs: shell: bash run: | case ${{ matrix.job.target }} in - x86_64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake libclang-dev ninja-build libayatana-appindicator3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev;; + x86_64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake libclang-dev ninja-build libappindicator3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev;; # arm-unknown-linux-*) sudo apt-get -y update ; sudo apt-get -y install gcc-arm-linux-gnueabihf ;; # aarch64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt-get -y install gcc-aarch64-linux-gnu ;; esac diff --git a/.github/workflows/flutter-nightly.yml b/.github/workflows/flutter-nightly.yml index 3062001de..6f6d26047 100644 --- a/.github/workflows/flutter-nightly.yml +++ b/.github/workflows/flutter-nightly.yml @@ -11,6 +11,7 @@ env: FLUTTER_VERSION: "3.0.5" TAG_NAME: "nightly" VCPKG_COMMIT_ID: '6ca56aeb457f033d344a7106cb3f9f1abf8f4e98' + VERSION: "1.2.0" jobs: build-for-windows: @@ -113,7 +114,7 @@ jobs: - name: Install prerequisites run: | case ${{ matrix.job.target }} in - x86_64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake libclang-dev ninja-build libayatana-appindicator3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libvdpau-dev libva-dev libclang-dev llvm-dev libclang-10-dev llvm-10-dev;; + x86_64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake libclang-dev ninja-build libappindicator3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libvdpau-dev libva-dev libclang-dev llvm-dev libclang-10-dev llvm-10-dev;; # arm-unknown-linux-*) sudo apt-get -y update ; sudo apt-get -y install gcc-arm-linux-gnueabihf ;; # aarch64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt-get -y install gcc-aarch64-linux-gnu ;; esac @@ -220,7 +221,6 @@ jobs: python ttf-arphic-uming libappindicator-gtk3 - libayatana-appindicator scripts: | cd res && HBB=`pwd`/.. FLUTTER=1 makepkg -f @@ -231,3 +231,54 @@ jobs: tag_name: ${{ env.TAG_NAME }} files: | res/rustdesk*.zst + + build-flatpak: + needs: [build-for-linux] + runs-on: ubuntu-18.04 + strategy: + fail-fast: false + matrix: + job: + # - { target: aarch64-unknown-linux-gnu , os: ubuntu-20.04, use-cross: true } + # - { target: arm-unknown-linux-gnueabihf , os: ubuntu-20.04, use-cross: true } + # - { target: arm-unknown-linux-musleabihf, os: ubuntu-20.04, use-cross: true } + # - { target: i686-unknown-linux-gnu , os: ubuntu-20.04, use-cross: true } + # - { target: i686-unknown-linux-musl , os: ubuntu-20.04, use-cross: true } + # - { target: x86_64-apple-darwin , os: macos-10.15 } + - { target: x86_64-unknown-linux-gnu , os: ubuntu-18.04, arch: "x86_64"} + # - { target: x86_64-unknown-linux-musl , os: ubuntu-20.04, use-cross: true } + steps: + - name: Checkout source code + uses: actions/checkout@v3 + + - name: Install dependencies + run: | + sudo apt update + sudo apt install -y flatpak flatpak-builder cmake g++ gcc git curl wget nasm yasm libgtk-3-dev + + - name: Download Binary + run: | + wget https://github.com/rustdesk/rustdesk/releases/download/nightly/rustdesk-${{ env.VERSION }}-${{ matrix.job.target }}-${{ matrix.job.os }}.deb + mv rustdesk-${{ env.VERSION }}-${{ matrix.job.target }}-${{ matrix.job.os }}.deb rustdesk-${{ env.VERSION }}.deb + + - name: Install Flatpak deps + run: | + flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + flatpak --user install -y flathub org.freedesktop.Platform/${{ matrix.job.arch }}/21.08 + flatpak --user install -y flathub org.freedesktop.Sdk/${{ matrix.job.arch }}/21.08 + + - name: Make Flatpak package + run: | + pushd flatpak + git clone https://github.com/flathub/shared-modules.git --depth=1 + flatpak-builder --user --force-clean --repo=repo ./build ./rustdesk.json + flatpak build-bundle ./repo rustdesk-${{ env.VERSION }}-${{ matrix.job.target }}.flatpak org.rustdesk.rustdesk + + - name: Publish flatpak package + uses: softprops/action-gh-release@v1 + with: + prerelease: true + tag_name: ${{ env.TAG_NAME }} + files: | + flatpak/rustdesk-${{ env.VERSION }}-${{ matrix.job.target }}.flatpak + diff --git a/.gitignore b/.gitignore index d1e9666bd..1ecea7af8 100644 --- a/.gitignore +++ b/.gitignore @@ -36,5 +36,6 @@ flatpak/.flatpak-builder/build/** flatpak/.flatpak-builder/shared-modules/** flatpak/.flatpak-builder/shared-modules/*.tar.xz flatpak/.flatpak-builder/debian-binary +flatpak/build/** # bridge file lib/generated_bridge.dart diff --git a/Cargo.toml b/Cargo.toml index 1eb92c4e4..a3c8b3d94 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -147,7 +147,7 @@ hound = "3.5" name = "RustDesk" identifier = "com.carriez.rustdesk" icon = ["res/32x32.png", "res/128x128.png", "res/128x128@2x.png"] -deb_depends = ["libgtk-3-0", "libxcb-randr0", "libxdo3", "libxfixes3", "libxcb-shape0", "libxcb-xfixes0", "libasound2", "libsystemd0", "pipewire", "curl", "libayatana-appindicator3-1", "libvdpau1", "libva2"] +deb_depends = ["libgtk-3-0", "libxcb-randr0", "libxdo3", "libxfixes3", "libxcb-shape0", "libxcb-xfixes0", "libasound2", "libsystemd0", "pipewire", "curl", "libappindicator3-1", "libvdpau1", "libva2"] osx_minimum_system_version = "10.14" resources = ["res/mac-tray-light.png","res/mac-tray-dark.png"] diff --git a/README.md b/README.md index 59eef0ba0..dfaa389a6 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ Please download sciter dynamic library yourself. ```sh sudo apt install -y zip g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev \ libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake make \ - libclang-dev ninja-build libayatana-appindicator3-1 libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libayatana-appindicator3-dev + libclang-dev ninja-build libappindicator3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev ``` ### openSUSE Tumbleweed diff --git a/flatpak/rustdesk.json b/flatpak/rustdesk.json new file mode 100644 index 000000000..4cb5bccc4 --- /dev/null +++ b/flatpak/rustdesk.json @@ -0,0 +1,33 @@ +{ + "app-id": "org.rustdesk.rustdesk", + "runtime": "org.freedesktop.Platform", + "runtime-version": "21.08", + "sdk": "org.freedesktop.Sdk", + "command": "rustdesk", + "modules": [ + "shared-modules/libappindicator/libappindicator-gtk3-12.10.json", + { + "name": "rustdesk", + "buildsystem": "simple", + "build-commands": [ + "bsdtar -zxvf rustdesk-1.2.0.deb", + "tar -xvf ./data.tar.xz", + "cp -r ./usr /app/", + "mkdir -p /app/bin && ln -s /app/usr/lib/rustdesk/rustdesk /app/bin/rustdesk" + ], + "sources": [ + { + "type": "file", + "path": "../rustdesk-1.2.0.deb" + } + ] + } + ], + "finish-args": [ + "--share=ipc", + "--socket=x11", + "--socket=wayland", + "--share=network", + "--filesystem=xdg-documents" + ] +} \ No newline at end of file diff --git a/flatpak/rustdesk.yml b/flatpak/rustdesk.yml deleted file mode 100644 index 3d7936635..000000000 --- a/flatpak/rustdesk.yml +++ /dev/null @@ -1,31 +0,0 @@ -app-id: org.rustdesk.rustdesk -runtime: org.freedesktop.Platform -runtime-version: '21.08' -sdk: org.freedesktop.Sdk -command: rustdesk -modules: - # install appindicator - - shared-modules/libappindicator/libappindicator-gtk3-12.10.json - - name: rustdesk - buildsystem: simple - build-commands: - - bsdtar -zxvf rustdesk-1.2.0.deb - - tar -xvf ./data.tar.xz - - cp -r ./usr /app/ - - rm /app/usr/bin/rustdesk - - mkdir -p /app/bin && ln -s /app/usr/lib/rustdesk/flutter_hbb /app/bin/rustdesk - sources: - # Note: replace to deb files with url - - type: file - path: ../rustdesk-1.2.0.deb - -finish-args: - # X11 + XShm access - - --share=ipc - - --socket=x11 - # Wayland access - - --socket=wayland - # Needs to talk to the network: - - --share=network - # Needs to save files locally - - --filesystem=xdg-documents \ No newline at end of file diff --git a/res/PKGBUILD b/res/PKGBUILD index 7c97d419e..bf8d7ba6e 100644 --- a/res/PKGBUILD +++ b/res/PKGBUILD @@ -7,7 +7,7 @@ arch=('x86_64') url="" license=('AGPL-3.0') groups=() -depends=('gtk3' 'xdotool' 'libxcb' 'libxfixes' 'alsa-lib' 'pipewire' 'curl' 'libva' 'libvdpau' 'libayatana-appindicator') +depends=('gtk3' 'xdotool' 'libxcb' 'libxfixes' 'alsa-lib' 'pipewire' 'curl' 'libva' 'libvdpau' 'libappindicator-gtk3') makedepends=() checkdepends=() optdepends=() diff --git a/res/rpm-flutter.spec b/res/rpm-flutter.spec index b40709845..a01926baa 100644 --- a/res/rpm-flutter.spec +++ b/res/rpm-flutter.spec @@ -3,7 +3,7 @@ Version: 1.2.0 Release: 0 Summary: RPM package License: GPL-3.0 -Requires: gtk3 libxcb libxdo libXfixes pipewire alsa-lib curl libayatana-appindicator3-1 libvdpau1 libva2 +Requires: gtk3 libxcb libxdo libXfixes pipewire alsa-lib curl libappindicator libvdpau1 libva2 %description diff --git a/res/rpm.spec b/res/rpm.spec index e88fe1fda..a85f9fcbd 100644 --- a/res/rpm.spec +++ b/res/rpm.spec @@ -1,9 +1,9 @@ Name: rustdesk -Version: 1.1.9 +Version: 1.2.0 Release: 0 Summary: RPM package License: GPL-3.0 -Requires: gtk3 libxcb libxdo libXfixes pipewire alsa-lib curl libayatana-appindicator3-1 libvdpau1 libva2 +Requires: gtk3 libxcb libxdo libXfixes pipewire alsa-lib curl libappindicator libvdpau1 libva2 %description The best open-source remote desktop client software, written in Rust.