Skip to content
This repository has been archived by the owner on Oct 5, 2022. It is now read-only.

Flatpak app #341

Open
tim77 opened this issue Apr 9, 2020 · 18 comments
Open

Flatpak app #341

tim77 opened this issue Apr 9, 2020 · 18 comments

Comments

@tim77
Copy link

tim77 commented Apr 9, 2020

Have you considered make universal package which will run on all major distributions? There already some initial work done (thanks to @gasinvein) and it compiles and works.

@vince-fugnitto
Copy link
Member

@tim77 I don't believe we were aware of Flatpack so thank you for sharing.

For our electron applications, we use electron-builder which has the option of creating AppImages which ultimately satisfy the requirements of being able to run on all major Linux distributions. ElectronBuilder also allows us to create packages for Mac and Windows as well.

I'm not sure theres a need to have another type of packaging in the form of Flatpak.

@marcdumais-work
Copy link
Member

Hi @tim77

Have you considered make universal package which will run on all major distributions

Like Vince mentioned, Appimage is probably good enough from that PoV - it's not completely distro agnostic - there can be issues e.g. if build on a very recent distro and then run on an older one. Would flatpak be better, as far as you know? e.g. would it be possible to build on Ubuntu 18.04 and then run on Red Hat 7?

@tim77
Copy link
Author

tim77 commented Apr 9, 2020

Would flatpak be better, as far as you know?

Flatpak much more portable and guaranty to work on old and new distros. Also your app will be available out of box in modern GUI package managers like GNOME Software and KDE Discover. This is attractive for users and help to discover your app.

I'll add more details about this soon.

@vince-fugnitto
Copy link
Member

I found the following comparison resource for reference (might be biased since it comes from an appimage repo):

@gasinvein
Copy link

@marcdumais-work

Would flatpak be better, as far as you know?

In terms of ABI portability - yes, since flatpak app is completely isolated from host, it's kinda more like Docker than AppImage.

@tim77
Copy link
Author

tim77 commented Apr 27, 2020

There is some interesting and informative talks here. Hope you find this interesting.

@vince-fugnitto
Copy link
Member

There is some interesting and informative talks here. Hope you find this interesting.

Thank you for the information!
In reality, application developers of Theia-based IDEs are free to use any packaging and distribution tools they wish, and this repo is mainly used for examples, and test purposes. If you believe that a working example would be useful to include in the repository please feel free to submit a pull-request. It can be used by others for reference who may have the same goal :)

@sudo-give-me-coffee
Copy link

e.g. would it be possible to build on Ubuntu 18.04 and then run on Red Hat 7?

Yes, Electron apps runs even on Ubuntu 14.04 (a very older OS than thay Flatpak supports)

@sudo-give-me-coffee
Copy link

Flatpak much more portable and guaranty to work on old and new distros. Also your app will be available out of box in modern GUI package managers like GNOME Software and KDE Discover.

Only if user has added support for Flatpak and repository that application was published

@tim77
Copy link
Author

tim77 commented Apr 28, 2020

e.g. would it be possible to build on Ubuntu 18.04 and then run on Red Hat 7?

Yes, Electron apps runs even on Ubuntu 14.04 (a very older OS than thay Flatpak supports)

Uh, this goes against with what says official AppImages docs and this not even joke, as already said. 😄
DeepinScreenshot_select-area_20200427232303

@vince-fugnitto i'll ping @gasinvein since it wrote already working manifest, thank you.

Also, linking with OBS issue was really bad idea, sorry. I forgot that this will be visible on linked issue and all what i wanted is to share some GeorgesStavracas points and information. Please lock this thread since there productive and useful conversation not possible anymore because of this.

@tim77 tim77 closed this as completed Apr 28, 2020
@sudo-give-me-coffee
Copy link

@tim77 Just open the link, they explain the reason for building on older distros 😉

And Electron has tingly difference of traditional C or C++, since they was builded on top of Ubuntu 12.04 any distro with glibc 2.12 will run electron apps. Yesterday, i was tested with TinyCore and worked fine (app created on Arch Linux up to date), flatpak will be good for supporting Alpine Linux and other libmusl based distros

@marcdumais-work
Copy link
Member

i wanted is to share some GeorgesStavracas points and information

Thanks @tim77 - interesting read. No worries about linking. I think we'd like to have an example of using Flatpack for package a Theia app. Do you prefer we open a new issue about that and leave this one here closed? Else I would just re-open it.

Generally, in this context of this repo here, we have the luxury of not having to pick and choose. Any given Theia-based product will need to decide what's best wr to their own needs and according to the detailed strenghts and weaknesses of each potential packaging. We are happy to by-pass the debate and offer both side-by-side :)

ATM our theia-electron example application uses Electron Builder which offers AppImage as one of its output formats on Linux hosts. Maybe it will eventually also support Flatpack? In the meantime we'll certainly consider having a standalone Flatpack example in this repo and would be open to have it contributed. Else we'll get to it eventually.

@tim77
Copy link
Author

tim77 commented Apr 29, 2020

@marcdumais-work

Maybe it will eventually also support Flatpack?

The request for support Flatpak in Electron Builder exist for a long time but seems like stalled.

Just look how it could look handy from user perspective when they have central place for Apps which is safe to use and easy to install/update.

@tim77 tim77 reopened this Apr 29, 2020
@vince-fugnitto
Copy link
Member

@marcdumais-work

Maybe it will eventually also support Flatpack?

The request for support Flatpak in Electron Builder exist for a long time but seems like stalled.

I'm curious to know why electron-builder has not supported flatpak yet, perhaps it does not see the value in supporting yet another type of packaging?

Just look how it could look handy from user perspective when they have central place for Apps which is safe to use and easy to install/update.

I guess it's the same outcome of doing something like #280 and publishing to the official Electron marketplace?

@marcdumais-work
Copy link
Member

I guess it's the same outcome of doing something like #280 and publishing to the official Electron marketplace?

Sure. Let's see which one gets contributed here first 🥇 :)

@tim77
Copy link
Author

tim77 commented Apr 30, 2020

@gasinvein updated Theia app in his hub, i asked him send a pull but we cannot find agreement there yet. He said that we should properly made fully automated CI build but this is not even possible at this stage since Theia is a new app and doesn't have fixed releases. Modules using next version so every build will be non-reproducible. But in same time IMO something is better then nothing. It compiles and works fine. Note: for generated-sources.json you need slightly patched helper which will be upstreamed soon i hope.

I guess it's the same outcome of doing something like #280 and publishing to the official Electron marketplace?

Yes, but with one remark: Flatpak mean you packaged your app for Linux users, Snap mean you packaged it for Ubuntu. There is some article about adoption, it may look outdated, but nothing really changed since then. Devs wanted to drop completely Snap support in GNOME Software but postponed this change.

@marcdumais-work
Copy link
Member

He said that we should properly made fully automated CI build but this is not even possible at this stage since Theia is a new app and doesn't have fixed releases. Modules using next version so every build will be non-reproducible.

For most apps we have under CI in this repo, we have both a latest based on the latest monthly Theia release and a next based on latest Theia master. I do not see why we could not publish in Flatpack format the same or similar Theia app as theia-docker. It could be only latest if there's a concern about potential random issues with next.

@deknos
Copy link

deknos commented Jul 18, 2022

just my 2 cent: as long as there's no appimage repository hub which is recognized within the community, from which i can pull update, i would prefer flatpak, where i can pull updates from the developers or from flathub or sth like that. appimages on my system tend to never get updated.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants