mirror of
https://github.com/rustdesk/rustdesk.git
synced 2025-05-11 18:36:11 +02:00
changes for flatpak build (#10273)
This commit is contained in:
parent
b544a2889b
commit
c06e1d74b4
4 changed files with 87 additions and 59 deletions
25
.github/workflows/flutter-build.yml
vendored
25
.github/workflows/flutter-build.yml
vendored
|
@ -2011,36 +2011,17 @@ jobs:
|
||||||
shell: /bin/bash
|
shell: /bin/bash
|
||||||
install: |
|
install: |
|
||||||
apt-get update -y
|
apt-get update -y
|
||||||
apt-get install -y \
|
apt-get install -y git flatpak flatpak-builder
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
rpm \
|
|
||||||
wget
|
|
||||||
run: |
|
run: |
|
||||||
# disable git safe.directory
|
# disable git safe.directory
|
||||||
git config --global --add safe.directory "*"
|
git config --global --add safe.directory "*"
|
||||||
pushd /workspace
|
pushd /workspace
|
||||||
# install
|
|
||||||
apt-get update -y
|
|
||||||
apt-get install -y \
|
|
||||||
cmake \
|
|
||||||
curl \
|
|
||||||
flatpak \
|
|
||||||
flatpak-builder \
|
|
||||||
gcc \
|
|
||||||
git \
|
|
||||||
g++ \
|
|
||||||
libgtk-3-dev \
|
|
||||||
nasm \
|
|
||||||
wget
|
|
||||||
# flatpak deps
|
# flatpak deps
|
||||||
flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||||
flatpak --user install -y flathub org.freedesktop.Platform/${{ matrix.job.arch }}/23.08
|
|
||||||
flatpak --user install -y flathub org.freedesktop.Sdk/${{ matrix.job.arch }}/23.08
|
|
||||||
# package
|
# package
|
||||||
pushd flatpak
|
pushd flatpak
|
||||||
git clone https://github.com/flathub/shared-modules.git --depth=1
|
git clone https://github.com/flathub/shared-modules.git --depth=1
|
||||||
flatpak-builder --user --force-clean --repo=repo ./build ./rustdesk.json
|
flatpak-builder --user --install-deps-from=flathub -y --force-clean --repo=repo ./build ./rustdesk.json
|
||||||
flatpak build-bundle ./repo rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}${{ matrix.job.suffix }}.flatpak com.rustdesk.RustDesk
|
flatpak build-bundle ./repo rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}${{ matrix.job.suffix }}.flatpak com.rustdesk.RustDesk
|
||||||
|
|
||||||
- name: Publish flatpak package
|
- name: Publish flatpak package
|
||||||
|
|
59
flatpak/com.rustdesk.RustDesk.metainfo.xml
Normal file
59
flatpak/com.rustdesk.RustDesk.metainfo.xml
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<component type="desktop-application">
|
||||||
|
<id>com.rustdesk.RustDesk</id>
|
||||||
|
<developer id="com.rustdesk">
|
||||||
|
<name>RustDesk</name>
|
||||||
|
</developer>
|
||||||
|
<launchable type="desktop-id">com.rustdesk.RustDesk.desktop</launchable>
|
||||||
|
<metadata_license>CC0-1.0</metadata_license>
|
||||||
|
<project_license>AGPL-3.0-only</project_license>
|
||||||
|
<name>RustDesk</name>
|
||||||
|
<summary>Secure remote desktop access</summary>
|
||||||
|
<description>
|
||||||
|
<p>
|
||||||
|
RustDesk is a full-featured open source remote control alternative for self-hosting and security with minimal configuration.
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li> Works on Windows, macOS, Linux, iOS, Android, Web. </li>
|
||||||
|
<li> Supports VP8 / VP9 / AV1 software codecs, and H264 / H265 hardware codecs. </li>
|
||||||
|
<li> Own your data, easily set up self-hosting solution on your infrastructure. </li>
|
||||||
|
<li> P2P connection with end-to-end encryption based on NaCl. </li>
|
||||||
|
<li> No administrative privileges or installation needed for Windows, elevate priviledge locally or from remote on demand. </li>
|
||||||
|
<li> We like to keep things simple and will strive to make simpler where possible. </li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
For self-hosting setup instructions please go to our home page.
|
||||||
|
</p>
|
||||||
|
</description>
|
||||||
|
<categories>
|
||||||
|
<category>Utility</category>
|
||||||
|
</categories>
|
||||||
|
<screenshots>
|
||||||
|
<screenshot type="default">
|
||||||
|
<caption>Remote desktop session</caption>
|
||||||
|
<image>https://user-images.githubusercontent.com/71636191/171661982-430285f0-2e12-4b1d-9957-4a58e375304d.png</image>
|
||||||
|
</screenshot>
|
||||||
|
</screenshots>
|
||||||
|
<branding>
|
||||||
|
<color type="primary" scheme_preference="light">#d9eaf8</color>
|
||||||
|
<color type="primary" scheme_preference="dark">#0160ee</color>
|
||||||
|
</branding>
|
||||||
|
<url type="homepage">https://rustdesk.com</url>
|
||||||
|
<url type="bugtracker">https://github.com/rustdesk/rustdesk/issues</url>
|
||||||
|
<url type="faq">https://github.com/rustdesk/rustdesk/wiki/FAQ</url>
|
||||||
|
<url type="help">https://rustdesk.com/docs</url>
|
||||||
|
<url type="donation">https://ko-fi.com/rustdesk</url>
|
||||||
|
<url type="vcs-browser">https://github.com/rustdesk/rustdesk</url>
|
||||||
|
<url type="translate">https://github.com/rustdesk/rustdesk/tree/master/src/lang</url>
|
||||||
|
<url type="contribute">https://github.com/rustdesk/rustdesk/blob/master/docs/CONTRIBUTING.md</url>
|
||||||
|
<url type="contact">https://rustdesk.com/docs/en/technical-support</url>
|
||||||
|
<requires>
|
||||||
|
<display_length compare="ge">600</display_length>
|
||||||
|
<internet>always</internet>
|
||||||
|
</requires>
|
||||||
|
<supports>
|
||||||
|
<control>keyboard</control>
|
||||||
|
<control>pointing</control>
|
||||||
|
</supports>
|
||||||
|
<content_rating type="oars-1.1"/>
|
||||||
|
</component>
|
|
@ -1,19 +1,30 @@
|
||||||
{
|
{
|
||||||
"id": "com.rustdesk.RustDesk",
|
"id": "com.rustdesk.RustDesk",
|
||||||
"runtime": "org.freedesktop.Platform",
|
"runtime": "org.freedesktop.Platform",
|
||||||
"runtime-version": "23.08",
|
"runtime-version": "24.08",
|
||||||
"sdk": "org.freedesktop.Sdk",
|
"sdk": "org.freedesktop.Sdk",
|
||||||
"command": "rustdesk",
|
"command": "rustdesk",
|
||||||
"icon": "share/icons/hicolor/scalable/apps/rustdesk.svg",
|
"cleanup": ["/include", "/lib/pkgconfig", "/share/gtk-doc"],
|
||||||
|
"rename-desktop-file": "rustdesk.desktop",
|
||||||
|
"rename-icon": "rustdesk",
|
||||||
"modules": [
|
"modules": [
|
||||||
"shared-modules/libappindicator/libappindicator-gtk3-12.10.json",
|
"shared-modules/libappindicator/libappindicator-gtk3-12.10.json",
|
||||||
"xdotool.json",
|
|
||||||
{
|
{
|
||||||
"name": "pam",
|
"name": "xdotool",
|
||||||
"buildsystem": "simple",
|
"no-autogen": true,
|
||||||
"build-commands": [
|
"make-install-args": ["PREFIX=${FLATPAK_DEST}"],
|
||||||
"./configure --disable-selinux --prefix=/app && make -j4 install"
|
"sources": [
|
||||||
],
|
{
|
||||||
|
"type": "archive",
|
||||||
|
"url": "https://github.com/jordansissel/xdotool/releases/download/v3.20211022.1/xdotool-3.20211022.1.tar.gz",
|
||||||
|
"sha256": "96f0facfde6d78eacad35b91b0f46fecd0b35e474c03e00e30da3fdd345f9ada"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pam",
|
||||||
|
"buildsystem": "autotools",
|
||||||
|
"config-opts": ["--disable-selinux"],
|
||||||
"sources": [
|
"sources": [
|
||||||
{
|
{
|
||||||
"type": "archive",
|
"type": "archive",
|
||||||
|
@ -26,32 +37,24 @@
|
||||||
"name": "rustdesk",
|
"name": "rustdesk",
|
||||||
"buildsystem": "simple",
|
"buildsystem": "simple",
|
||||||
"build-commands": [
|
"build-commands": [
|
||||||
"bsdtar -zxvf rustdesk.deb",
|
"bsdtar -Oxf rustdesk.deb data.tar.xz | bsdtar -xf -",
|
||||||
"tar -xvf ./data.tar.xz",
|
"cp -r usr/* /app/",
|
||||||
"cp -r ./usr/* /app/",
|
"mkdir -p /app/bin && ln -s /app/lib/rustdesk/rustdesk /app/bin/rustdesk"
|
||||||
"mkdir -p /app/bin && ln -s /app/lib/rustdesk/rustdesk /app/bin/rustdesk",
|
|
||||||
"mv /app/share/applications/rustdesk.desktop /app/share/applications/com.rustdesk.RustDesk.desktop",
|
|
||||||
"mv /app/share/applications/rustdesk-link.desktop /app/share/applications/com.rustdesk.RustDesk-link.desktop",
|
|
||||||
"sed -i '/^Icon=/ c\\Icon=com.rustdesk.RustDesk' /app/share/applications/*.desktop",
|
|
||||||
"mv /app/share/icons/hicolor/scalable/apps/rustdesk.svg /app/share/icons/hicolor/scalable/apps/com.rustdesk.RustDesk.svg",
|
|
||||||
"for size in 16 24 32 48 64 128 256 512; do\n rsvg-convert -w $size -h $size -f png -o $size.png scalable.svg\n install -Dm644 $size.png /app/share/icons/hicolor/${size}x${size}/apps/com.rustdesk.RustDesk.png\n done"
|
|
||||||
],
|
],
|
||||||
"cleanup": ["/include", "/lib/pkgconfig", "/share/gtk-doc"],
|
|
||||||
"sources": [
|
"sources": [
|
||||||
{
|
{
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"path": "./rustdesk.deb"
|
"path": "rustdesk.deb"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"path": "../res/scalable.svg"
|
"path": "com.rustdesk.RustDesk.metainfo.xml"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"finish-args": [
|
"finish-args": [
|
||||||
"--share=ipc",
|
"--share=ipc",
|
||||||
"--socket=x11",
|
|
||||||
"--socket=fallback-x11",
|
"--socket=fallback-x11",
|
||||||
"--socket=wayland",
|
"--socket=wayland",
|
||||||
"--share=network",
|
"--share=network",
|
||||||
|
@ -60,4 +63,4 @@
|
||||||
"--socket=pulseaudio",
|
"--socket=pulseaudio",
|
||||||
"--talk-name=org.freedesktop.Flatpak"
|
"--talk-name=org.freedesktop.Flatpak"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue