rustdesk icon indicating copy to clipboard operation
rustdesk copied to clipboard

Add this app to flatpak.

Open CodeCubeNeo opened this issue 3 years ago • 18 comments

Hello! I think it would be cool to add this app to flatpak/flathub repository for easier cross linux distro installation.

CodeCubeNeo avatar Apr 23 '22 20:04 CodeCubeNeo

https://github.com/rustdesk/rustdesk/issues/577

rustdesk avatar May 23 '22 16:05 rustdesk

#577 Is more about AppImage or discussing the viability of other distribution methods - Even if AppImage is chosen over the other methods (for now), this thread is still relevant.

Related to this, I've made a thread on the Flathub Discourse Request section for Rust Desk: https://discourse.flathub.org/t/remote-desktop-control-rustdesk/2605

dginovker avatar Jun 12 '22 17:06 dginovker

Awesome. Thanks

CodeCubeNeo avatar Jun 12 '22 19:06 CodeCubeNeo

yes please also submit to flathub

UnixPhonez avatar Jun 13 '22 00:06 UnixPhonez

I stumbled on the project today, If there's a tar ball archive of rust desk for Linux I can help package it as a Flatpak (I have done it before for a different application), I think it's easier than building it from source (I Have not done it)

ghazyami avatar Jun 25 '22 12:06 ghazyami

.deb, .rpm all can be unzipped.

rustdesk avatar Jun 25 '22 14:06 rustdesk

Yea. This would be awesome.

CodeCubeNeo avatar Jun 25 '22 21:06 CodeCubeNeo

example: https://github.com/pitivi/pitivi/tree/master/build/flatpak

rustdesk avatar Jun 26 '22 12:06 rustdesk

Crossing post/text about duplicated issue...

I worked on a yaml for rustdesk these days, to no avail.with two approach, using appimage (I believe it is ideal due to the absence of a daemon) not execute the app, and compile (occurs a error building rustdesk app, not the dependencies) but I don't know how I prefix the installation with vcpkg/cargo

My yaml file https://github.com/farribeiro/built-flatpaks/blob/main/com.rustdesk.rustdesk.yml

A build using gh-actions https://github.com/farribeiro/built-flatpaks/actions/runs/2593553105

farribeiro avatar Jul 01 '22 13:07 farribeiro

appimage

appimage has big problem with Wayland input which requires sudo. I do not know if we can run flatpak as system service to make Wayland input work. I know snap can, but it has the other problems.

rustdesk avatar Jul 01 '22 13:07 rustdesk

https://github.com/farribeiro/built-flatpaks/blob/main/com.rustdesk.rustdesk.yml

You miss https://github.com/rustdesk/rustdesk#ubuntu-18-debian-10 for building RustDesk, or check out https://github.com/rustdesk/rustdesk/blob/master/.github/workflows/ci.yml

I can not see you include deps as in https://github.com/rustdesk/rustdesk/blob/master/appimage/AppImageBuilder.yml#L60

Please do not use the latest sciter which has bug, please use this one https://github.com/rustdesk/rustdesk/blob/master/appimage/AppImageBuilder.yml#L11

Anyway, https://github.com/rustdesk/rustdesk/blob/master/.github/workflows/ci.yml and https://github.com/rustdesk/rustdesk/blob/master/appimage/AppImageBuilder.yml are your best references.

rustdesk avatar Jul 01 '22 14:07 rustdesk

I'm very glad to feedback, thanks

I'm writing in trial/errors/success about deps. wanted to make sure certain packages are needed in flatpak packaging, I changed the approach of compiled rustdesk, following guidelines from the flathub project not using vcpkg and also using cargo/pip offline... take a look the file again to view the progress of my draft to rustdesk project

Btw, i want show the easy way to package the rustdesk in flatpak... https://gist.github.com/farribeiro/64b410d2b0bf45e7357dcb7061381d96... works the packaging but not runs (it should and has all dependencies not need build again, I don't understand why it fails)

farribeiro avatar Jul 02 '22 18:07 farribeiro

appimage is getting removed, hopefully flatpak can be possible

UnixPhonez avatar Jul 11 '22 02:07 UnixPhonez

Yes, we will test Flatpak.

rustdesk avatar Jul 11 '22 02:07 rustdesk

Yes, we will test Flatpak.

great, it's nice having the app update via software on fedora. This app has helped alot with working on other computers remotely!

UnixPhonez avatar Jul 11 '22 02:07 UnixPhonez

A tip ... embed the systemd service in app same anydesk does

farribeiro avatar Jul 18 '22 00:07 farribeiro

+1 here for a Flatpak or Appimage cause i cant install anything outside the main repository on my Steam Deck (Arch based) ... in detail ofc i can Install it after i need to chmod the root filesystem and this will overwritten with the next SteamOS Update

Delikt avatar Jul 20 '22 14:07 Delikt

@farribeiro That could cause issues on non-systemd distros and probably add unneeded complexity. Also, what benefit does it have?

gagero avatar Jul 26 '22 23:07 gagero

hoping for flatpak for steamdeck use

ITJamie avatar Aug 03 '22 09:08 ITJamie

@rustdesk as you tagged this help wanted, is there a repo/PR already that people should look at or should someone start from scratch?

razzeee avatar Aug 10 '22 14:08 razzeee

Looking for contributor.

rustdesk avatar Aug 10 '22 15:08 rustdesk

Hey, I'd like to help out with this and started looking into it. I chose the approach of extracting the .deb file, as @rustdesk mentioned earlier. This works fine, but when running the flatpak, rustdesk is unable to find libsciter:

thread 'main' panicked at 'error: 'libsciter-gtk.so' was not found neither in PATH nor near the current executable.
  Please verify that Sciter SDK is installed and its binaries (from bin.lnx) are available in PATH.', libs/rust-sciter/src/lib.rs:367:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I've extracted libsciter-gtk.so from the .deb file, moved it to /app/lib and added /app/lib to PATH. Also placing libsciter-gtk.so directly next to the rustdesk binary did not work. Any ideas?

You can find my manifest here: https://github.com/sandr01d/flathub/blob/rustdesk/com.rustdesk.rustdesk.yaml

sandr01d avatar Aug 21 '22 19:08 sandr01d

Hey, I'd like to help out with this and started looking into it. I chose the approach of extracting the .deb file, as @rustdesk mentioned earlier. This works fine, but when running the flatpak, rustdesk is unable to find libsciter:

thread 'main' panicked at 'error: 'libsciter-gtk.so' was not found neither in PATH nor near the current executable.
  Please verify that Sciter SDK is installed and its binaries (from bin.lnx) are available in PATH.', libs/rust-sciter/src/lib.rs:367:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I've extracted libsciter-gtk.so from the .deb file, moved it to /app/lib and added /app/lib to PATH. Also placing libsciter-gtk.so directly next to the rustdesk binary did not work. Any ideas?

You can find my manifest here: https://github.com/sandr01d/flathub/blob/rustdesk/com.rustdesk.rustdesk.yaml

Sorry for the delay, and we are really appreciated that u did a great job! We are taking a look at the manifest to make flatpak package work. If done, we'll add this app to flakpak soon. Thanks!

Kingtous avatar Sep 05 '22 02:09 Kingtous

Hey, I'd like to help out with this and started looking into it. I chose the approach of extracting the .deb file, as @rustdesk mentioned earlier. This works fine, but when running the flatpak, rustdesk is unable to find libsciter:

thread 'main' panicked at 'error: 'libsciter-gtk.so' was not found neither in PATH nor near the current executable.
  Please verify that Sciter SDK is installed and its binaries (from bin.lnx) are available in PATH.', libs/rust-sciter/src/lib.rs:367:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I've extracted libsciter-gtk.so from the .deb file, moved it to /app/lib and added /app/lib to PATH. Also placing libsciter-gtk.so directly next to the rustdesk binary did not work. Any ideas? You can find my manifest here: https://github.com/sandr01d/flathub/blob/rustdesk/com.rustdesk.rustdesk.yaml

Sorry for the delay, and we are really appreciated that u did a great job! We are taking a look at the manifest to make flatpak package work. If done, we'll add this app to flakpak soon. Thanks!

Awesome. Let me know in case there is something I can do from my side. Happy to help.

sandr01d avatar Sep 05 '22 18:09 sandr01d

Hey, I'd like to help out with this and started looking into it. I chose the approach of extracting the .deb file, as @rustdesk mentioned earlier. This works fine, but when running the flatpak, rustdesk is unable to find libsciter:

thread 'main' panicked at 'error: 'libsciter-gtk.so' was not found neither in PATH nor near the current executable.
  Please verify that Sciter SDK is installed and its binaries (from bin.lnx) are available in PATH.', libs/rust-sciter/src/lib.rs:367:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I've extracted libsciter-gtk.so from the .deb file, moved it to /app/lib and added /app/lib to PATH. Also placing libsciter-gtk.so directly next to the rustdesk binary did not work. Any ideas? You can find my manifest here: https://github.com/sandr01d/flathub/blob/rustdesk/com.rustdesk.rustdesk.yaml

Sorry for the delay, and we are really appreciated that u did a great job! We are taking a look at the manifest to make flatpak package work. If done, we'll add this app to flakpak soon. Thanks!

Awesome. Let me know in case there is something I can do from my side. Happy to help.

libsciter-gtk.so needs to be found at /usr/lib/rustdesk/libsciter-gtk.so. There're two options to get it found in path: one is to redirect /app/lib/rustdesk(flatpak) to /usr/lib/rustdesk, the other is to add a flatpak feature and build from source.

check out appimage configuration code.

u can other check out other codes decorated with appimage features.

Kingtous avatar Sep 05 '22 23:09 Kingtous

Hey, I'd like to help out with this and started looking into it. I chose the approach of extracting the .deb file, as @rustdesk mentioned earlier. This works fine, but when running the flatpak, rustdesk is unable to find libsciter:

thread 'main' panicked at 'error: 'libsciter-gtk.so' was not found neither in PATH nor near the current executable.
  Please verify that Sciter SDK is installed and its binaries (from bin.lnx) are available in PATH.', libs/rust-sciter/src/lib.rs:367:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I've extracted libsciter-gtk.so from the .deb file, moved it to /app/lib and added /app/lib to PATH. Also placing libsciter-gtk.so directly next to the rustdesk binary did not work. Any ideas? You can find my manifest here: https://github.com/sandr01d/flathub/blob/rustdesk/com.rustdesk.rustdesk.yaml

Sorry for the delay, and we are really appreciated that u did a great job! We are taking a look at the manifest to make flatpak package work. If done, we'll add this app to flakpak soon. Thanks!

Awesome. Let me know in case there is something I can do from my side. Happy to help.

libsciter-gtk.so needs to be found at /usr/lib/rustdesk/libsciter-gtk.so. There're two options to get it found in path: one is to redirect /app/lib/rustdesk(flatpak) to /usr/lib/rustdesk, the other is to add a flatpak feature and build from source.

check out appimage configuration code.

u can other check out other codes decorated with appimage features.

I see. Building from source is a bit tricky for this, because of the vcpkg dependency. vcpkg downloads additional resources during bootstrapping, which is not possible in flatpak (packages have to build offline as far as I know). Since flatpaks filesystem is immutable, I can not place libsciter-gtk.so in /usr/lib/rustdesk. I'm not entirely sure what exactly you meant with redirect. Could you please elaborate?

sandr01d avatar Sep 06 '22 18:09 sandr01d

Hey, I'd like to help out with this and started looking into it. I chose the approach of extracting the .deb file, as @rustdesk mentioned earlier. This works fine, but when running the flatpak, rustdesk is unable to find libsciter:

thread 'main' panicked at 'error: 'libsciter-gtk.so' was not found neither in PATH nor near the current executable.
  Please verify that Sciter SDK is installed and its binaries (from bin.lnx) are available in PATH.', libs/rust-sciter/src/lib.rs:367:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I've extracted libsciter-gtk.so from the .deb file, moved it to /app/lib and added /app/lib to PATH. Also placing libsciter-gtk.so directly next to the rustdesk binary did not work. Any ideas? You can find my manifest here: https://github.com/sandr01d/flathub/blob/rustdesk/com.rustdesk.rustdesk.yaml

Sorry for the delay, and we are really appreciated that u did a great job! We are taking a look at the manifest to make flatpak package work. If done, we'll add this app to flakpak soon. Thanks!

Awesome. Let me know in case there is something I can do from my side. Happy to help.

libsciter-gtk.so needs to be found at /usr/lib/rustdesk/libsciter-gtk.so. There're two options to get it found in path: one is to redirect /app/lib/rustdesk(flatpak) to /usr/lib/rustdesk, the other is to add a flatpak feature and build from source. check out appimage configuration code. u can other check out other codes decorated with appimage features.

I see. Building from source is a bit tricky for this, because of the vcpkg dependency. vcpkg downloads additional resources during bootstrapping, which is not possible in flatpak (packages have to build offline as far as I know). Since flatpaks filesystem is immutable, I can not place libsciter-gtk.so in /usr/lib/rustdesk. I'm not entirely sure what exactly you meant with redirect. Could you please elaborate?

u can checkout this piece of code. All we need to do is to let rustdesk find this lib in this path.

https://github.com/rustdesk/rustdesk/blob/93236bb3cd2c36ee42c2e75eafdb66a3379c0d60/src/ui.rs#L90-L97

Maybe we need to add a new feature "flatpak" to add flatpak sandbox lib path to env? @rustdesk

Kingtous avatar Sep 08 '22 03:09 Kingtous

Hey, I'd like to help out with this and started looking into it. I chose the approach of extracting the .deb file, as @rustdesk mentioned earlier. This works fine, but when running the flatpak, rustdesk is unable to find libsciter:

thread 'main' panicked at 'error: 'libsciter-gtk.so' was not found neither in PATH nor near the current executable.
  Please verify that Sciter SDK is installed and its binaries (from bin.lnx) are available in PATH.', libs/rust-sciter/src/lib.rs:367:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I've extracted libsciter-gtk.so from the .deb file, moved it to /app/lib and added /app/lib to PATH. Also placing libsciter-gtk.so directly next to the rustdesk binary did not work. Any ideas? You can find my manifest here: https://github.com/sandr01d/flathub/blob/rustdesk/com.rustdesk.rustdesk.yaml

Sorry for the delay, and we are really appreciated that u did a great job! We are taking a look at the manifest to make flatpak package work. If done, we'll add this app to flakpak soon. Thanks!

Awesome. Let me know in case there is something I can do from my side. Happy to help.

libsciter-gtk.so needs to be found at /usr/lib/rustdesk/libsciter-gtk.so. There're two options to get it found in path: one is to redirect /app/lib/rustdesk(flatpak) to /usr/lib/rustdesk, the other is to add a flatpak feature and build from source. check out appimage configuration code. u can other check out other codes decorated with appimage features.

I see. Building from source is a bit tricky for this, because of the vcpkg dependency. vcpkg downloads additional resources during bootstrapping, which is not possible in flatpak (packages have to build offline as far as I know). Since flatpaks filesystem is immutable, I can not place libsciter-gtk.so in /usr/lib/rustdesk. I'm not entirely sure what exactly you meant with redirect. Could you please elaborate?

u can checkout this piece of code. All we need to do is to let rustdesk find this lib in this path.

https://github.com/rustdesk/rustdesk/blob/93236bb3cd2c36ee42c2e75eafdb66a3379c0d60/src/ui.rs#L90-L97

Maybe we need to add a new feature "flatpak" to add flatpak sandbox lib path to env? @rustdesk

Just wanted to add the flatpak feature, but I saw 2d9346087343c817b465e56276fb829adbd1f25f. Guess you've beat me to it?

sandr01d avatar Sep 08 '22 21:09 sandr01d

beat me to it

We also need to provide flatpak package for flutter version :) . So the flatpak folder added by https://github.com/rustdesk/rustdesk/commit/2d9346087343c817b465e56276fb829adbd1f25f if for flutter version of rustdesk, not sciter.

Kingtous avatar Sep 09 '22 01:09 Kingtous

The Flatpak version can not be used as controlled side, the container (sandbox) has big limitation to us.

rustdesk avatar Sep 13 '22 09:09 rustdesk