-
Notifications
You must be signed in to change notification settings - Fork 847
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
Add flag for AppImage packaging #864
Conversation
If anyone wants to test this I can upload the AppImages i built or just clone the repository from my account. |
Build and tested on Debian 9.0, works |
Build and tested on Ubuntu 16.04, works |
Build and tested on Ubuntu 18.04. Works, too! |
Thanks @svelle. Just curious, how popular are AppImage packages among Linux people? Unfortunately I have never used them in my usual desktop environment. @jasonblais @esethna This would make easier to install the app on recent Linux. Should we officially support this? |
So they are pretty common. Some bigger projects use them like Krita, JetBrains Toolbox or LibreOffice and iirc Linus Torvalds also has some software that he packages as an AppImage. The consensus between bigger Linux Projects seems that this is a very much viable option to package and ship your product. I personally think it's a good option for projects like Mattermost because it's self contained and runs on pretty much every Linux distro because it is distro-agnostic and doesn't need any dependencies*. You can run it straight out of the box. From all the options out there, there are only two viable options for Mattermost, imo. One being AppImage and the other one being FlatPak. FlatPak would have the additional advantage of having the possibility to update directly from FlatHub. But for FlatPak to work the user needs to install the FlatPak dependencies on their machine. I'm completely open for discussion on this subject and put this PR here mainly because it's such a simple change which can possibly make a lot of users happy without being much additional work for the maintainers. :) Edit: I just realized that you actually have one dependency which is fuse, but this should be installed on every major distribution (RHEL, Fedora, Debian, Ubuntu and SUSE have it preinstalled). |
Much appreciate! I haven't known about Linus's project, that's great news. @esethna @jasonblais I think it's good to merge this because there is no change in program code and AppImage is not limited to specific Linux distribution. What we need to do is merely to release .appimage file. |
Thanks @svelle and @yuya-oc, I'm reaching out to the team to get some developer opinions on supporting this, as I'm not too familiar with Linux. A couple questions:
|
I would really like to see Mattermost to publish its desktop as AppImage, even if its unofficial. 😄 |
@ExNG summed it all up pretty good. For every bigger linux project there are often community built appimages and sometimes even official. Also compared to tar.gz it's likely going to be more people downloading it, simply because it's one step less (extracting) to run it, also it's a bit less 'messy' so to speak because you just have that one file instead of a new folder and you don't even have to do much for the .desktop file to have this implemented in your desktop environment. I'm not really sure how many people are downloading the .deb package though, so I can't say much about that. Also AppImage can be used for auto updating the client. but that would require some more code. Maybe I or someone else who has the time can push a pr sometime in the future. |
@esethna Sounds good to me. |
AppImage is a great start, but I'd really love to have a flatpak version which I could update with my other apps. Slack app is also on FlatHub, so packaging of Mattermost should not be that different and for many users it could simplify transition from Slack to Mattermost. Hope to get the flatpak version soon! |
Thanks @SemaiCZE for suggestion. Currently we strongly depends on electron-builder in order to generate linux packages. It seems that flatpak is not supported. So we need to add flatpak support from scratch if it's needed. Would you add another issue for that? |
Summary
Sets a flag in the electron builder that enables AppImage packaging.
Additional Notes
This would enable most linux users to simply run the application from the downloaded image and if wanted sets the necessary path variables to launch it from the preferred desktop environment.
IMO it is better than distributing with a .deb or .rpm package, because it's distribution independent and comes with all needed dependencies, if any. Also it is just a minor change in packaging that enables a lot more users to comfortably install and use the app on their system.