subsync icon indicating copy to clipboard operation
subsync copied to clipboard

AppImage, Flatpak, or AUR?

Open tiotrom opened this issue 7 years ago • 11 comments

Would love to try it out and I am wondering if you plan to also make it into one of the above? AUR would be fantastic as the other ones are usually huge in size. Cheers!

tiotrom avatar Jan 22 '19 17:01 tiotrom

I was thinking about this, but don't have much time to do anything about it. AUR is only for Arch? I would like to start with something portable. Anyway, pull requests are always welcome.

sc0ty avatar Jan 23 '19 17:01 sc0ty

Yes AUR is for Arch (Arch User Repository). For sure, in terms of portability, appimage is the best. I hope you'll have the time to do it. If I knew how to help I would for sure...I will ask some Arch people if they are willing to make it as AUR package.

tiotrom avatar Jan 23 '19 17:01 tiotrom

About portability flatpak would be the best - it is available for all Linux distributions... In fact SubSync it is the only Snap package that I'm using.

Normally I would say - if it works - I do not care, but Ubuntu Snaps are really annoying. The biggest issues are:

  • Snap is creating insane amount of loop devices. Because of it I had to change a way to open encrypted hard drives...
  • Snap is extremely slow. I have decent i7 PC with NVMe SSD drive - even that starting SubSync taking couple of seconds... And it is not only my findings - even Ubuntu enthusiasts from omgubuntu.co.uk agree that Snaps are very slow to start...

So please consider to release also flatpak version of SubSync...

Dannniello avatar Apr 07 '19 18:04 Dannniello

I know that choosing Snap was mistake. It looked good on paper and I have no real experience with any of these universal package systems. It bothers me that I have to pack half of Ubuntu along with my app. Apparently I chosen the worst packaging system. I will eventually pack it with something else, probably Flatpak or Appimage (not sure which one). I need some time to wrap my head around this topic. As always I'm open for pull requests.

And unfortunately subsync start time is slow regardless of the packaging system. There are plenty of dependencies that must be loaded (in form of native libraries and python modules). It takes also several seconds to start on my Windows machine (with mechanical HDD).

sc0ty avatar Apr 08 '19 16:04 sc0ty

Snaps and Flatpaks are the first, really universal packages for every Linux distribution and it is great! But - at least in my opinion - Flatpaks are much better. For instance flatpaks are not centralised on one "AppStore" like it is with Ubuntu Snaps. Yes - there is flathub.org - so far the biggest repository with flatpak applications, but applications could be distributed also via other "markets". Also Flatpaks are better integrated with system - in Gnome 3.32 settings there is applications section where user could check/manage flatpaks permissions, stored data,etc.

In my opinion AppImage is not good choice and you should avoid it. The biggest issues with AppImages are:

  • it is not secure (i.e. the is no permission system like in Flatpaks)
  • AppImage do not support dependency system (so you need pack everything needed inside it - in the worst scenario - it will be bigger even than Snap package and it still will not work on all distributions)
  • there is no repos with AppImages (i.e. user need manually download new version of application)
  • it is not easy to use (user need manually download AppImage file; user need manually add execute permissions to downloaded file; user need to manually start application - I mean no "Start Menu" integration)

Dannniello avatar Apr 08 '19 17:04 Dannniello

@Dannniello Appimages seem much easier to deal with from the user's perspective. Sure, you need AppImageLauncher installed same as the flatpak package to manage flatpaks. Once you install AppImageInstaller users simply download an appimage and click it. That's all. With flatpak users need to install either a plugin so that flatpaks are added to say Gnome Software Center, or use the terminal to install flatpaks.

For me, as an Arch user, the easiest is AUR because many (maybe all) Arch distros already have pamac manager - a much better software center. And it is automatically added there. Basically if there is an AUR for this it appears in my software center too. And there simply click and install. No need to build dependencies in AUR, and that's the biggest advantage. Sure, it is not a Linux universal package but for that I recommend Appimage.

tiotrom avatar Apr 09 '19 02:04 tiotrom

Flatpak installed by default:

  • CentOS - Flatpak is installed by default on CentOS 7
  • Clear Linux - Flatpak is installed and Flathub repository is pre-configured by default
  • Fedora - Flatpak is installed by default
  • Mint - Flatpak support is built into Linux Mint 18.3 and newer
  • Endless OS - Flatpak support is built into Endless OS 3.0.0 and newer

Flatpak support could be installed almost in every distribution via one command:

  • Ubuntu - sudo apt install flatpak
  • Chrome OS - sudo apt install flatpak
  • Red Hat Enterprise - sudo yum install flatpak
  • openSUSE - sudo zypper install flatpak
  • Arch - sudo pacman -S flatpak
  • Debian - apt install flatpak
  • Kubuntu - sudo apt install flatpak
  • Solus - sudo eopkg install flatpak xdg-desktop-portal-gtk
  • Alpine - sudo apk add flatpak
  • Mageia - dnf install flatpak
  • Raspbian - apt install flatpak
  • Void Linux - sudo xbps-install -S flatpak
  • NixOS - sudo nix-env -iA nixos.flatpak

In the future more and more distributions will support Flatpak out-of-the-box.

AppImageLauncher is not very well known solution. I'm not sure about other distributions but there is no AppImageLauncher package in Fedora repositories.

The future is definitely in Flatpaks and maybe in Snaps, but in my opinion Flatpaks adoption will be wider. For example Linux phones Purism Librem 5 will support Flatpaks out-of-the-box.

AUR it is package for Arch distribution only. In the same way I could say that RPM is the best, because it is used in Fedora.

Dannniello avatar Apr 09 '19 09:04 Dannniello

As far as I understand Flatpak and Snaps are company-created packages and AppImage is community created. In my view this is important in order to further the concept of Open Source and Community. However, I would love to see a flatpak too, but also an appimage if possible. I find AppImages a lot easier to deal with - click and use. Want to uninstall? Simply remove the appimage. Can't be easier. Flatpak needs a software center so add or remove them or use the terminal to do so.

AUR is also, as far as I know, the biggest Linux repository out there.

In any case, whatever the developer wants I will be happy with. Well, maybe except snap since in my tests it is slow and never respects the theme.

Cheers!

tiotrom avatar Apr 09 '19 14:04 tiotrom

Ok, I will keep this issue open for now. I don't know when I will find some time to do something about it, so if you really want it, some help will be appreciated. It don't have to be fully working solution, we could do it iteratively. Someone familiar with these systems would do it much faster that I. I am ready to help with this task. For reference, building process is described here: https://github.com/sc0ty/subsync/blob/master/doc/install.md

And I don't have a problem with releasing future versions as several packages for different systems. We could have both Flatpack AUR and Snap. In fact it would be ideal situation.

sc0ty avatar Apr 09 '19 21:04 sc0ty

I cannot even get the snap app to load the sub from a mounted drive (Permission denied). Would appreciate an alt like the ones mentioned or a .deb for bionic.

kalligator avatar May 17 '20 11:05 kalligator

I was bored and added it to the AUR: subsync. It appears I've covered all the dependencies.

Pocketsphinx / Sphinxbase seems to be abandoned. Doesn't really seem very lucrative for future development.

yochananmarqos avatar Aug 16 '21 23:08 yochananmarqos