-
Notifications
You must be signed in to change notification settings - Fork 415
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flatpak support #570
Comments
I've heard this request many times from Linux users |
I don’t know if Electron can be used in conjunction with Flatpak. But getting rid of Electron would be beneficial for performance, so this would be pretty good. 😎 |
We've also discussed appimage packaging in the past as well. Not sure how that compares to flatpak. Getting rid if electron means developing native solutions on each OS, which is not something we want to do at this time. |
AppImage is deprecated – Flatpak can do everything what AppImage does and much more! |
Good to know, thanks! I'll update that original app image issue and link these. |
Most programs of the Gnome desktop get ported to Flatpak until 3.28. At the moment a lot is ported already, so this is the way to go (you can even get Steam via Flatpak!). It also is already integrated into the Gnome Appstore (but also runs under other desktop environments like KDE). ;-) |
Endless people are tackling this issue (flatpaking electron apps): https://github.com/endlessm/electron-flatpak-base-app |
Per discussion still happening on #332, it doesn't seem like there is a consensus that Flatpak > AppImage. I'm open to changing this, but it's unlikely we're adding 2 new ways to package an app on our least popular OS. |
Flatpak neither needs root, nor involves complicated commands. It is directly integrated into the Gnome appstore and non-gnome distros will support it too, soon – if they don’t yet provide it already, as e.g. KDE does. With Gnome and KDE you reach >98% of all Linux desktop users – the rest seems to be able installing it via Check out the most used Linux applications and you’ll see that a lot of them are available as flatpak images already (Firefox, Steam, LibreOffice, Slack, Spotify, VLC, Inkscape, Blender, Transmission, Gnome-MPV, Audacity, Corebird, Darktable, FileZilla, FeedReader, Lollypop, Gedit, GnuCash, Builder, Peek and nearly all Gnome core applications). There are many reasons why all their developers have chosen Flatpak over AppImage or Snap. And by the way: There is even EndlessOS, where EVERY single program is flatpaked. AppImage seems to be a one-way street, because nearly everything at the moment is under way providing Flatpak images. I don’t know a single feature, what is supported via AppImage and not available as Flatpak. I don’t think that custom themes are usable via AppImage, and sandboxing isn’t available at all. See Android – every single user-installed application is sandboxed, what is especially important for applications that have a connection to the internet. You’ll want that on desktop Linux, too! Snap isn’t decentralized what is the mayor drawback, and many distros and applications don’t support it because of this. Plus, providing a decentralized YouTube alternative via a centralized appstore isn’t reasonable at all. Here you’ll find more information: |
@HoboPrimate @fbruetting would either of you be interested to add support for flatpak yourselves? We'd be happy to offer commensurate LBC bounty. |
@kauffj I commented on the thread with the info on current efforts for flatpaking electron apps, but I don't have the skills myself unfortunately. Am just a linux user who came across this application (by mention in one of bryan lunduke's videos) who doesn't run debian/ubuntu. |
So yeah, Snap only does work for Ubuntu… |
Hello, I'm sure the Flathub team can add some else to the repo once it's created that represents the release team on LBRY. I'll try to keep it updated but I don't use LBRY much. I'm on Fedora and wanted to try it but only saw the deb. I figured I might as well package it for Flatpak so I didn't need to build from source. It's currently being built with the stable deb file. It'll be changed over to being built from source once the Flatpak/Flathub team can find a better way to ship Electron apps. |
Just to confirm, Flathub's policy is that the upstream team can absolutely control the app on Flathub, it's there as a service to make things easier for developers - but we allow other people to set up the flatpak and maintain it if there isn't a lot of upstream interest. As for electron apps, they're absolutely supported! The 'electron native' way to make a flatpak isn't very 'flatpak native', which is a bit annoying, and that's the barrier that we're trying to overcome right now. I'm hoping there'll be some progress on that soon but yes, we'd love if you got your toes wet with an 'extra-data' repackage before moving to a fully native build. |
@julianrichen wow, thanks so much for this, I'll have to test it out! @nedrichards thanks for coming by to provide the additional information. I'll look into the process needed to maintain it, but I feel like we would be able to handle it. Not sure what the initial demand will be - at this point a majority of our users are Windows based. I would assume there is a cost to the service you provide. |
@tzarebczan Nope, no cost. The costs of Flathub are covered by donations from people and organisations keen to see a better app developer experience on Linux. (e.g. my employer Endless helps out because it gets better, more quickly updated apps to our users). We understand that for almost every project there are more users on Windows, Mac OS, Android, anything else - so we want to make stuff as easy as possible! Let me know github usernames and I'll add you to the repo - the maintenance guidelines are here. But if you've got any questions or need help, just ask. |
Sweet, flathub.org has the install file up at https://flathub.org/repo/appstream/io.lbry.lbry-app.flatpakref Installed successfully on Fedora :) when I installed it with the built in app manager - it did say "something went wrong" but the app worked. No errors when installing from flatpak command line. |
hey @nedrichards, are you a crypto fan? Can we get some LBC (LBRY Credits) over to you for your contributions? |
@tzarebczan is this completely working? |
@liamcardenas Yes, install
By adding the Flathub repo you can try out other Flatpak apps on Flathub ;) This issue could probably be closed now. |
Yes, worked on my fedora vm. The working directories are a bit different, so we may want to document that somewhere. We should definitely add the link to the flathub site in our install / Readme doc. I think @IGassmann still wanted to check our appimage because of native electron support, but Jeremy said we should go with the one or other. This definitely fills the gap for non Debian systems, and since Linux accounts for a smaller portion of installs, we shouldn't spend too much time on it. |
@julianrichen Thanks for what have you done. We appreciate your help. Concerning app updates. If we release a new version of our app, should we update manually the related flathub repository or is there any way to do it automatically? |
@IGassmann At the moment you have to manually update the json manifest in the flatpak repo with the new URL, size and sha256 hash. It's not terribly difficult but it is an extra manual step. fwiw on 'native electron support' that's something that flatpak also has, there just isn't a plugin to electron builder yet (there's tools for electron installer and another way that I can't quite remember off the top of my head). Also, once you create a file that way you still have to run your own repository for updates etc. which is a bit of a hassle and something flathub does for you. But it's totally possible (at Endless we've shipped some apps using this). The flatpak community is also working on making it easier to build electron apps natively on Flathub or elsewhere (with the advantages of reproducible builds, not needting network connectivity during the build etc.) with tools like flatpak-npm-generator that takes package-lock files and turns that into a flatpak manifest (I'm hoping it'll be extended to yarn.lock files soon as well). |
@tzarebczan well, I've certainly been testing the app, so always happy to have anything that makes it easier! ;-) |
@nedrichards Send me an email at hello@lbry.io with your LBC address (receive tab of the wallet) and I'll get some over to you :) Thanks again for the support and trying out the app! |
@nedrichards if it's possible that we (or you ;) can create a script that our build service (Team City) can run, we can explore automating this and remove that manual step. |
@kauffj that's a really interesting question and one that I love to hear. I'll file a ticket on Flathub and we'll have a chat. Remote building, or remote triggering has been seen as being a little way away - but if people are asking for it then we can certainly talk! I'll start the discussion and hook you in so you can see and maybe share some of your requirements. |
Due to these reasons: #332 (comment) AppImage has been chosen as our Linux target package instead of Flatpak. |
For the record, appimages do not tend to support accessibility features, cannot be "installed", require a roll-your-own upgrade solution which introduces privacy and security concerns, will not integrate into desktop environments, and dramatically increase the resource usage required for even hello world in electron from 350 MB of RAM to 500 MB of RAM on my system. As I am legally blind and must have accessibility features, that alone pretty much ensures I won't be using an appimage. |
With most free applications moving towards Flatpak, please provide such an image, too!
The text was updated successfully, but these errors were encountered: