mirror of
https://github.com/rustdesk/rustdesk.git
synced 2025-05-10 18:06:01 +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
|
||||
install: |
|
||||
apt-get update -y
|
||||
apt-get install -y \
|
||||
curl \
|
||||
git \
|
||||
rpm \
|
||||
wget
|
||||
apt-get install -y git flatpak flatpak-builder
|
||||
run: |
|
||||
# disable git safe.directory
|
||||
git config --global --add safe.directory "*"
|
||||
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 --user remote-add --if-not-exists flathub https://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
|
||||
flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
# package
|
||||
pushd flatpak
|
||||
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
|
||||
|
||||
- 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",
|
||||
"runtime": "org.freedesktop.Platform",
|
||||
"runtime-version": "23.08",
|
||||
"runtime-version": "24.08",
|
||||
"sdk": "org.freedesktop.Sdk",
|
||||
"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": [
|
||||
"shared-modules/libappindicator/libappindicator-gtk3-12.10.json",
|
||||
"xdotool.json",
|
||||
{
|
||||
"name": "pam",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"./configure --disable-selinux --prefix=/app && make -j4 install"
|
||||
],
|
||||
"name": "xdotool",
|
||||
"no-autogen": true,
|
||||
"make-install-args": ["PREFIX=${FLATPAK_DEST}"],
|
||||
"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": [
|
||||
{
|
||||
"type": "archive",
|
||||
|
@ -26,32 +37,24 @@
|
|||
"name": "rustdesk",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"bsdtar -zxvf rustdesk.deb",
|
||||
"tar -xvf ./data.tar.xz",
|
||||
"cp -r ./usr/* /app/",
|
||||
"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"
|
||||
"bsdtar -Oxf rustdesk.deb data.tar.xz | bsdtar -xf -",
|
||||
"cp -r usr/* /app/",
|
||||
"mkdir -p /app/bin && ln -s /app/lib/rustdesk/rustdesk /app/bin/rustdesk"
|
||||
],
|
||||
"cleanup": ["/include", "/lib/pkgconfig", "/share/gtk-doc"],
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"path": "./rustdesk.deb"
|
||||
"path": "rustdesk.deb"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"path": "../res/scalable.svg"
|
||||
"path": "com.rustdesk.RustDesk.metainfo.xml"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"finish-args": [
|
||||
"--share=ipc",
|
||||
"--socket=x11",
|
||||
"--socket=fallback-x11",
|
||||
"--socket=wayland",
|
||||
"--share=network",
|
||||
|
@ -60,4 +63,4 @@
|
|||
"--socket=pulseaudio",
|
||||
"--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