Merge pull request #2011 from Kingtous/master
feat: add flatpak package
This commit is contained in:
commit
a78e928f4a
2
.github/workflows/flutter-ci.yml
vendored
2
.github/workflows/flutter-ci.yml
vendored
@ -38,7 +38,7 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
case ${{ matrix.job.target }} in
|
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 ;;
|
# 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 ;;
|
# aarch64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt-get -y install gcc-aarch64-linux-gnu ;;
|
||||||
esac
|
esac
|
||||||
|
95
.github/workflows/flutter-nightly.yml
vendored
95
.github/workflows/flutter-nightly.yml
vendored
@ -11,6 +11,7 @@ env:
|
|||||||
FLUTTER_VERSION: "3.0.5"
|
FLUTTER_VERSION: "3.0.5"
|
||||||
TAG_NAME: "nightly"
|
TAG_NAME: "nightly"
|
||||||
VCPKG_COMMIT_ID: '6ca56aeb457f033d344a7106cb3f9f1abf8f4e98'
|
VCPKG_COMMIT_ID: '6ca56aeb457f033d344a7106cb3f9f1abf8f4e98'
|
||||||
|
VERSION: "1.2.0"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-for-windows:
|
build-for-windows:
|
||||||
@ -92,7 +93,7 @@ jobs:
|
|||||||
rustdesk-*.exe
|
rustdesk-*.exe
|
||||||
|
|
||||||
build-for-linux:
|
build-for-linux:
|
||||||
name: ${{ matrix.job.target }} (${{ matrix.job.os }})
|
name: ${{ matrix.job.target }} (${{ matrix.job.os }},${{ matrix.job.extra-build-args }})
|
||||||
runs-on: ${{ matrix.job.os }}
|
runs-on: ${{ matrix.job.os }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
@ -104,7 +105,8 @@ jobs:
|
|||||||
# - { target: i686-unknown-linux-gnu , 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: i686-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
|
||||||
# - { target: x86_64-apple-darwin , os: macos-10.15 }
|
# - { target: x86_64-apple-darwin , os: macos-10.15 }
|
||||||
- { target: x86_64-unknown-linux-gnu , os: ubuntu-18.04}
|
- { target: x86_64-unknown-linux-gnu , os: ubuntu-18.04, extra-build-args: ""}
|
||||||
|
- { target: x86_64-unknown-linux-gnu , os: ubuntu-18.04, extra-build-args: "--flatpak"}
|
||||||
# - { target: x86_64-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
|
# - { target: x86_64-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout source code
|
- name: Checkout source code
|
||||||
@ -113,7 +115,7 @@ jobs:
|
|||||||
- name: Install prerequisites
|
- name: Install prerequisites
|
||||||
run: |
|
run: |
|
||||||
case ${{ matrix.job.target }} in
|
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 ;;
|
# 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 ;;
|
# aarch64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt-get -y install gcc-aarch64-linux-gnu ;;
|
||||||
esac
|
esac
|
||||||
@ -159,7 +161,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Install cargo bundle tools
|
- name: Install cargo bundle tools
|
||||||
run: |
|
run: |
|
||||||
cargo install cargo-bundle --force
|
cargo install cargo-bundle
|
||||||
|
|
||||||
- name: Show version information (Rust, cargo, GCC)
|
- name: Show version information (Rust, cargo, GCC)
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -172,7 +174,7 @@ jobs:
|
|||||||
rustc -V
|
rustc -V
|
||||||
|
|
||||||
- name: Build rustdesk
|
- name: Build rustdesk
|
||||||
run: ./build.py --flutter --hwcodec
|
run: ./build.py --flutter --hwcodec ${{ matrix.job.extra-build-args }}
|
||||||
|
|
||||||
- name: Rename rustdesk
|
- name: Rename rustdesk
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -187,9 +189,17 @@ jobs:
|
|||||||
prerelease: true
|
prerelease: true
|
||||||
tag_name: ${{ env.TAG_NAME }}
|
tag_name: ${{ env.TAG_NAME }}
|
||||||
files: |
|
files: |
|
||||||
rustdesk*.deb
|
rustdesk-${{ env.VERSION }}-${{ matrix.job.target }}-${{ matrix.job.os }}.deb
|
||||||
|
|
||||||
|
- name: Upload Artifcat
|
||||||
|
uses: actions/upload-artifact@master
|
||||||
|
if: ${{ contains(matrix.job.extra-build-args, 'flatpak') }}
|
||||||
|
with:
|
||||||
|
name: rustdesk-${{ env.VERSION }}-${{ matrix.job.target }}-${{ matrix.job.os }}.deb
|
||||||
|
path: rustdesk-${{ env.VERSION }}-${{ matrix.job.target }}-${{ matrix.job.os }}.deb
|
||||||
|
|
||||||
- name: Build archlinux package
|
- name: Build archlinux package
|
||||||
|
if: ${{ matrix.job.extra-build-args == '' }}
|
||||||
uses: vufa/arch-makepkg-action@master
|
uses: vufa/arch-makepkg-action@master
|
||||||
with:
|
with:
|
||||||
packages: >
|
packages: >
|
||||||
@ -220,14 +230,85 @@ jobs:
|
|||||||
python
|
python
|
||||||
ttf-arphic-uming
|
ttf-arphic-uming
|
||||||
libappindicator-gtk3
|
libappindicator-gtk3
|
||||||
libayatana-appindicator
|
|
||||||
scripts: |
|
scripts: |
|
||||||
cd res && HBB=`pwd`/.. FLUTTER=1 makepkg -f
|
cd res && HBB=`pwd`/.. FLUTTER=1 makepkg -f
|
||||||
|
|
||||||
- name: Publish archlinux package
|
- name: Publish archlinux package
|
||||||
|
if: ${{ matrix.job.extra-build-args == '' }}
|
||||||
uses: softprops/action-gh-release@v1
|
uses: softprops/action-gh-release@v1
|
||||||
with:
|
with:
|
||||||
prerelease: true
|
prerelease: true
|
||||||
tag_name: ${{ env.TAG_NAME }}
|
tag_name: ${{ env.TAG_NAME }}
|
||||||
files: |
|
files: |
|
||||||
res/rustdesk*.zst
|
res/rustdesk*.zst
|
||||||
|
|
||||||
|
# - name: build RPM package
|
||||||
|
# id: rpm
|
||||||
|
# uses: Kingtous/rustdesk-rpmbuild@master
|
||||||
|
# with:
|
||||||
|
# spec_file: "res/rpm-flutter.spec"
|
||||||
|
|
||||||
|
# - 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 }}/*
|
||||||
|
|
||||||
|
build-flatpak:
|
||||||
|
name: Build Flatpak
|
||||||
|
needs: [build-for-linux]
|
||||||
|
runs-on: ${{ matrix.job.os }}
|
||||||
|
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
|
||||||
|
uses: actions/download-artifact@master
|
||||||
|
with:
|
||||||
|
name: rustdesk-${{ env.VERSION }}-${{ matrix.job.target }}-${{ matrix.job.os }}.deb
|
||||||
|
path: .
|
||||||
|
|
||||||
|
- name: Rename Binary
|
||||||
|
run: |
|
||||||
|
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
|
||||||
|
|
||||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -36,5 +36,6 @@ flatpak/.flatpak-builder/build/**
|
|||||||
flatpak/.flatpak-builder/shared-modules/**
|
flatpak/.flatpak-builder/shared-modules/**
|
||||||
flatpak/.flatpak-builder/shared-modules/*.tar.xz
|
flatpak/.flatpak-builder/shared-modules/*.tar.xz
|
||||||
flatpak/.flatpak-builder/debian-binary
|
flatpak/.flatpak-builder/debian-binary
|
||||||
|
flatpak/build/**
|
||||||
# bridge file
|
# bridge file
|
||||||
lib/generated_bridge.dart
|
lib/generated_bridge.dart
|
||||||
|
@ -147,7 +147,7 @@ hound = "3.5"
|
|||||||
name = "RustDesk"
|
name = "RustDesk"
|
||||||
identifier = "com.carriez.rustdesk"
|
identifier = "com.carriez.rustdesk"
|
||||||
icon = ["res/32x32.png", "res/128x128.png", "res/128x128@2x.png"]
|
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"
|
osx_minimum_system_version = "10.14"
|
||||||
resources = ["res/mac-tray-light.png","res/mac-tray-dark.png"]
|
resources = ["res/mac-tray-light.png","res/mac-tray-dark.png"]
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ Please download sciter dynamic library yourself.
|
|||||||
```sh
|
```sh
|
||||||
sudo apt install -y zip g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev \
|
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 \
|
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
|
### openSUSE Tumbleweed
|
||||||
|
9
build.py
9
build.py
@ -81,6 +81,11 @@ def make_parser():
|
|||||||
action='store_true',
|
action='store_true',
|
||||||
help='Build windows portable'
|
help='Build windows portable'
|
||||||
)
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
'--flatpak',
|
||||||
|
action='store_true',
|
||||||
|
help='Build rustdesk libs with the flatpak feature enabled'
|
||||||
|
)
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
|
||||||
@ -188,6 +193,8 @@ def get_features(args):
|
|||||||
features.append('hwcodec')
|
features.append('hwcodec')
|
||||||
if args.flutter:
|
if args.flutter:
|
||||||
features.append('flutter')
|
features.append('flutter')
|
||||||
|
if args.flatpak:
|
||||||
|
features.append('flatpak')
|
||||||
print("features:", features)
|
print("features:", features)
|
||||||
return features
|
return features
|
||||||
|
|
||||||
@ -201,7 +208,7 @@ Version: %s
|
|||||||
Architecture: amd64
|
Architecture: amd64
|
||||||
Maintainer: open-trade <info@rustdesk.com>
|
Maintainer: open-trade <info@rustdesk.com>
|
||||||
Homepage: https://rustdesk.com
|
Homepage: https://rustdesk.com
|
||||||
Depends: libgtk-3-0, libxcb-randr0, libxdo3, libxfixes3, libxcb-shape0, libxcb-xfixes0, libasound2, libsystemd0, pipewire, curl
|
Depends: libgtk-3-0, libxcb-randr0, libxdo3, libxfixes3, libxcb-shape0, libxcb-xfixes0, libasound2, libsystemd0, pipewire, curl, libappindicator3-1, libva-drm2, libva-x11-2, libvdpau1
|
||||||
Description: A remote control software.
|
Description: A remote control software.
|
||||||
|
|
||||||
""" % version
|
""" % version
|
||||||
|
38
flatpak/rustdesk.json
Normal file
38
flatpak/rustdesk.json
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
{
|
||||||
|
"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",
|
||||||
|
"xdotool.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=fallback-x11",
|
||||||
|
"--socket=wayland",
|
||||||
|
"--share=network",
|
||||||
|
"--filesystem=home",
|
||||||
|
"--device=dri",
|
||||||
|
"--socket=pulseaudio",
|
||||||
|
"--talk-name=org.freedesktop.Flatpak"
|
||||||
|
]
|
||||||
|
}
|
@ -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
|
|
15
flatpak/xdotool.json
Normal file
15
flatpak/xdotool.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"name": "xdotool",
|
||||||
|
"buildsystem": "simple",
|
||||||
|
"build-commands": [
|
||||||
|
"make -j4 && PREFIX=./build make install",
|
||||||
|
"cp -r ./build/* /app/"
|
||||||
|
],
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"type": "archive",
|
||||||
|
"url": "https://github.com/jordansissel/xdotool/releases/download/v3.20211022.1/xdotool-3.20211022.1.tar.gz",
|
||||||
|
"sha256": "96f0facfde6d78eacad35b91b0f46fecd0b35e474c03e00e30da3fdd345f9ada"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -7,7 +7,7 @@ arch=('x86_64')
|
|||||||
url=""
|
url=""
|
||||||
license=('AGPL-3.0')
|
license=('AGPL-3.0')
|
||||||
groups=()
|
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=()
|
makedepends=()
|
||||||
checkdepends=()
|
checkdepends=()
|
||||||
optdepends=()
|
optdepends=()
|
||||||
|
88
res/rpm-flutter.spec
Normal file
88
res/rpm-flutter.spec
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
Name: rustdesk
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
%description
|
||||||
|
The best open-source remote desktop client software, written in Rust.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
# we have no source, so nothing here
|
||||||
|
|
||||||
|
%build
|
||||||
|
# we have no source, so nothing here
|
||||||
|
|
||||||
|
# %global __python %{__python3}
|
||||||
|
|
||||||
|
%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"
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
/usr/bin/rustdesk
|
||||||
|
/usr/lib/rustdesk/*
|
||||||
|
/usr/share/rustdesk/files/rustdesk.service
|
||||||
|
/usr/share/rustdesk/files/rustdesk.png
|
||||||
|
/usr/share/rustdesk/files/rustdesk.desktop
|
||||||
|
/usr/share/rustdesk/files/rustdesk-link.desktop
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
# let's skip this for now
|
||||||
|
|
||||||
|
# https://www.cnblogs.com/xingmuxin/p/8990255.html
|
||||||
|
%pre
|
||||||
|
# can do something for centos7
|
||||||
|
case "$1" in
|
||||||
|
1)
|
||||||
|
# for install
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
# for upgrade
|
||||||
|
systemctl stop rustdesk || true
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
%post
|
||||||
|
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/
|
||||||
|
systemctl daemon-reload
|
||||||
|
systemctl enable rustdesk
|
||||||
|
systemctl start rustdesk
|
||||||
|
update-desktop-database
|
||||||
|
|
||||||
|
%preun
|
||||||
|
case "$1" in
|
||||||
|
0)
|
||||||
|
# for uninstall
|
||||||
|
systemctl stop rustdesk || true
|
||||||
|
systemctl disable rustdesk || true
|
||||||
|
rm /etc/systemd/system/rustdesk.service || true
|
||||||
|
;;
|
||||||
|
1)
|
||||||
|
# for upgrade
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
%postun
|
||||||
|
case "$1" in
|
||||||
|
0)
|
||||||
|
# for uninstall
|
||||||
|
rm /usr/share/applications/rustdesk.desktop || true
|
||||||
|
rm /usr/share/applications/rustdesk-link.desktop || true
|
||||||
|
update-desktop-database
|
||||||
|
;;
|
||||||
|
1)
|
||||||
|
# for upgrade
|
||||||
|
;;
|
||||||
|
esac
|
@ -1,9 +1,9 @@
|
|||||||
Name: rustdesk
|
Name: rustdesk
|
||||||
Version: 1.1.9
|
Version: 1.2.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: RPM package
|
Summary: RPM package
|
||||||
License: GPL-3.0
|
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
|
%description
|
||||||
The best open-source remote desktop client software, written in Rust.
|
The best open-source remote desktop client software, written in Rust.
|
||||||
|
@ -807,6 +807,8 @@ pub fn is_root() -> bool {
|
|||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn check_super_user_permission() -> bool {
|
pub fn check_super_user_permission() -> bool {
|
||||||
|
#[cfg(feature = "flatpak")]
|
||||||
|
return true;
|
||||||
#[cfg(any(windows, target_os = "linux"))]
|
#[cfg(any(windows, target_os = "linux"))]
|
||||||
return crate::platform::check_super_user_permission().unwrap_or(false);
|
return crate::platform::check_super_user_permission().unwrap_or(false);
|
||||||
#[cfg(not(any(windows, target_os = "linux")))]
|
#[cfg(not(any(windows, target_os = "linux")))]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user