Skip to content
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

Provide Flatpak, Snap and .msi installers #518

Closed
3 tasks
iMonZ opened this issue Feb 5, 2022 · 26 comments
Closed
3 tasks

Provide Flatpak, Snap and .msi installers #518

iMonZ opened this issue Feb 5, 2022 · 26 comments
Assignees
Labels
suggestion TYPE: idea for new feature or improvements

Comments

@iMonZ
Copy link

iMonZ commented Feb 5, 2022

It would be great if this tool would be better to install

  • 1. For Windows 10,11 use the MSI package instead of .exe

  • 2. For Linux use Flatpak and Snapcraft instead of deb…

  • 3. macOS Support would be Great but learning System extensions is a hassle

It would be great if this would be fixed

@iMonZ iMonZ added the suggestion TYPE: idea for new feature or improvements label Feb 5, 2022
@northys
Copy link
Contributor

northys commented Feb 6, 2022

👎 for flatpak / snapcraft. I have had only troubles with many apps installed like this and they were 100% more simpler than what portmaster does. Maybe I'll change my mind in the future about isolated apps but IMHO it's not mature enough at the moment.

Also portmaster has it's own update process right now and that would not work in immutable packages. Currently, portmaster installers are here only to install the base skeleton of portmaster (the portmaster-start component). Rest of it will download / update on each startup.

@iMonZ
Copy link
Author

iMonZ commented Feb 6, 2022

👎 for flatpak / snapcraft. I have had only troubles with many apps installed like this and they were 100% more simpler than what portmaster does. Maybe I'll change my mind in the future about isolated apps but IMHO it's not mature enough at the moment.

Also portmaster has it's own update process right now and that would not work in immutable packages. Currently, portmaster installers are here only to install the base skeleton of portmaster (the portmaster-start component). Rest of it will download / update on each startup.

It’s possible to create an classic Snapcraft that is not isolated.
And make install parameters that disabling the inapp updater.

It’s just easier for every Linux user if all apps are installed with one way and the standard is flatpak and Snapcraft.
Would be just nice to have 🙂🫠

@northys
Copy link
Contributor

northys commented Feb 6, 2022

It’s possible to create an classic Snapcraft that is not isolated.

I know and I would call that Frankenstein. I see zero point in classic snaps. Most software devs who publish only flatpak and snap packages are just lazy to create proper packages for all mayor distros which are really supported.

if all apps are installed with one way

Lucky you! As a fedora user I had to reinstall half of the flatpak apps using different way because they didn't work properly and devs don't give a shit about it. E.g. there is yubikey manager that has like 0.3* because it's broken for years and noone gives shit about it. I would expect that at least company selling 50$ usb sticks with one app could do it properly but nope.

and the standard is flatpak and Snapcraft.

What planet do you come from? Is it panet Earth? If it would be a standard there would be only one of them don't you think?

Snapcraft is so brilliant that people around me are moving from Ubuntu to different distro because it just sux and Canonical forces you to use it since 18.04 even on server LOL.

Docker from snap also works /s. It's awesome we can have broken / half working software installed easilly using crappy "standard" package manager that was built for our parrents so they can install chromium and vlc and forget about it.

@iMonZ
Copy link
Author

iMonZ commented Feb 6, 2022

It’s possible to create an classic Snapcraft that is not isolated.

I know and I would call that Frankenstein. I see zero point in classic snaps. Most software devs who publish only flatpak and snap packages are just lazy to create proper packages for all mayor distros which are really supported.

if all apps are installed with one way

Lucky you! As a fedora user I had to reinstall half of the flatpak apps using different way because they didn't work properly and devs don't give a shit about it. E.g. there is yubikey manager that has like 0.3* because it's broken for years and noone gives shit about it. I would expect that at least company selling 50$ usb sticks with one app could do it properly but nope.

and the standard is flatpak and Snapcraft.

What planet do you come from? Is it panet Earth? If it would be a standard there would be only one of them don't you think?

Snapcraft is so brilliant that people around me are moving from Ubuntu to different distro because it just sux and Canonical forces you to use it since 18.04 even on server LOL.

Docker from snap also works /s. It's awesome we can have broken / half working software installed easilly using crappy "standard" package manager that was built for our parrents so they can install chromium and vlc and forget about it.

Easy to install.

debs aren’t easy to install at all.
And if you don’t have a ppa that you Manager every week it’s total crap.
Oh and btw most ppa owner don’t care about non lts version so you need to open the editor and spoof an older version bla bla bla.
Such a time waste especially for non experienced users.
I don’t know what you are talking about problems for snap and flat but except a few Szenarios like 1Password everyone is pretty happy. And we have an easy standard solution. And yes Snapcraft classic is much better because IT WORKS.
Everywhere and everytime.

docker could be an idea too

I use Ubuntu, Fedora and arch daily.

@northys
Copy link
Contributor

northys commented Feb 6, 2022

Everywhere and everytime.

U wish.


And if you don’t have a ppa that you Manager every week it’s total crap.
Oh and btw most ppa owner don’t care about non lts version so you need to open the editor and spoof an older version bla bla bla.
Such a time waste especially for non experienced users.

Learn to read pls.

Also portmaster has it's own update process right now and that would not work in immutable packages. Currently, portmaster installers are here only to install the base skeleton of portmaster (the portmaster-start component). Rest of it will download / update on each startup.


debs aren’t easy to install at all.

Okay. It must be terrible experience for user to doubleclick a file and click install. I'll pray for those poor people.

@dhaavi dhaavi changed the title Fix installation Provide Flatpak, Snap and .msi installers Feb 11, 2022
@dhaavi
Copy link
Member

dhaavi commented Feb 11, 2022

Hey @iMonZ, thanks for raising this issue.
Also, thank you @northys for providing an alternative viewpoint here.

When we investigated flatpak and snaps, we found that they don't support our use case:

  • We ship three components (1 system service, 2 user applications), not only one.
  • The system service should start at boot with system privileges.
  • One of the user apps should start at boot with user privileges.
  • They are not available on all systems.
  • (If you want to isolate Portmaster to some extent, systemd does a decent job there - and we have enabled that.)

Regarding the .msi installer, we really want to communicate some important things to the user during install. This is not possible with .msi afaik.

@northys
Copy link
Contributor

northys commented Feb 11, 2022

Regarding the .msi installer, we really want to communicate some important things to the user during install. This is not possible with .msi afaik.

you can still install msi in the background using current installer, cant you?

@dhaavi
Copy link
Member

dhaavi commented Feb 11, 2022

you can still install msi in the background using current installer, cant you?

Not sure what you mean.
Well, you can just ignore everything and blindly click "next", similar to like winget can do, yes.

@dhaavi dhaavi self-assigned this Feb 11, 2022
@iMonZ
Copy link
Author

iMonZ commented Feb 11, 2022

Hey @iMonZ, thanks for raising this issue. Also, thank you @northys for providing an alternative viewpoint here.

When we investigated flatpak and snaps, we found that they don't support our use case:

  • We ship three components (1 system service, 2 user applications), not only one.
  • The system service should start at boot with system privileges.
  • One of the user apps should start at boot with user privileges.
  • They are not available on all systems.
  • (If you want to isolate Portmaster to some extent, systemd does a decent job there - and we have enabled that.)

Regarding the .msi installer, we really want to communicate some important things to the user during install. This is not possible with .msi afaik.

  1. you can install the system component and user space component

  2. You can install Systemapps with autostart

  3. you can communicate this after the install like all the macOS apps are doing this. There Is no need to communicate or ask any questions in the installer.

@dhaavi
Copy link
Member

dhaavi commented Feb 14, 2022

Thanks for the update. It seems things might have changed.

We will look into it again and see if it makes sense to provide flatpak and snap installers.
I'm not sure about the .msi, but will also talk with the team about it.

@itsnotsaved
Copy link

see if it makes sense to provide flatpak and snap installers.

Some examples related network monitoring tools.

@dhaavi
Copy link
Member

dhaavi commented Apr 25, 2022

Thanks for your input @itsnotsaved, but I believe both of your examples do not directly interact with the network stack of the host, and such can easily be packaged to snap - from this view point at least.

We are, however, slowly evaluating if we can work around the limitations (or if they have been lifted) of flatpak. No promises on the progress, just stating that we will look into it.

@dnet890
Copy link

dnet890 commented May 28, 2022

for deb file we can get update feature like flatpak with https://github.com/wimpysworld/deb-get. But, we need this app on stable version. So, I hope portmaster can become stable version soon.

@Danik1601
Copy link

Danik1601 commented May 30, 2022

#TeamFlatpak here.
Snap is slower and has proprietary backed.
Flatpak is fully open source, snappier (ha-ha) and more widely available across distributions. Also it (and AppImage) is the only packaging system supported on 99% of immutable distributions (Fedora Silverblue, Fedora Kinoite, carbonOS, NixOS, etc.).
Please keep the Flatpak version on your roadmap

@iMonZ
Copy link
Author

iMonZ commented May 31, 2022

#TeamFlatpak here.
Snap is slower and has proprietary backed.
Flatpak is fully open source, snappier (ha-ha) and more widely available across distributions. Also it (and AppImage) is the only packaging system supported on 99% of immutable distributions (Fedora Silverblue, Fedora Kinoite, carbonOS, NixOS, etc.).
Please keep the Flatpak version on your roadmap

That’s not the point.
Flatpack is used by most operating systems while snaps are only used by one which also supports flatpaks.

@Rexadev
Copy link

Rexadev commented Sep 30, 2022

Use AppImage better performance then apt, dnf, Snap, Flatpak
Flatpak is centralized. App image is more open.

@tazihad
Copy link

tazihad commented Oct 26, 2022

flatpak has direct support in Fedora, Linux mint. Also, if someone is on Debian. He can use the latest version using flatpak.
I prefer desktop applications in Flatpak. so that I don't have to care about all the dependency that it comes with. If not flatpak. I would also be okay with Appimage.

@S7venLights
Copy link

S7venLights commented Nov 2, 2022

I would also love Flatpak for Silverblue

@storopoli
Copy link

+1 Flatpak for Silverblue

@Rexadev
Copy link

Rexadev commented Mar 17, 2023

@iMonZ, @Danik1601, and @dbbvitor why the downvotes

@quazar-omega
Copy link

@Rexadev Not one of the tagged people, but the reason might be because what you said simply is not true:

  • how could native packages be slower than Appimage? Flatpak runs normally as well, Snap not so much, true.
  • it's not centralized since you can host your own Flatpak repository and there are already some out there (e.g. Fedora Flatpaks)
  • they are both completely open, Flatpak is LGPL and Appimage MIT

It's a fine packaging format by itself, but one I think causes more headaches for the end user who has to seek the way to search, install and update them on their own

@Rexadev
Copy link

Rexadev commented Mar 18, 2023

  • how could native packages be slower than Appimage? Flatpak runs normally as well, Snap not so much, true.

https://www.youtube.com/watch?v=OftD86RgAcc
https://www.youtube.com/watch?v=Eh16w17BjZo
https://www.youtube.com/watch?v=9HuExVD56Bo
https://www.youtube.com/watch?v=1lLZ-59xH3Y

  • it's not centralized since you can host your own Flatpak repository and there are already some out there (e.g. Fedora Flatpaks)
  • they are both completely open, Flatpak is LGPL and Appimage MIT

It's a fine packaging format by itself, but one I think causes more headaches for the end user who has to seek the way to search, install and update them on their own

flatpak has proprietary components and a littler more centralized than AppImages. iirc people can't just give out .flatpak on thier website

Snap is very closed and Un-Linux - https://itsfoss.com/flatpak-vs-snap/#:~:text=However%2C%20the%20back%2Dend%20of%20the%20snaps%20is%20proprietary%20and%20controlled%20by%20Canonical%20without%20any%20community%20involvement.

@quazar-omega
Copy link

quazar-omega commented Mar 18, 2023

https://www.youtube.com/watch?v=OftD86RgAcc

That has nothing to do with the packaging format itself, it's the fault of what was put into the package, i.e. how the binaries for libraries and ultimately the application were built, if you favor speed over everything then sure, you'll try to use the fastest application as it was packaged (which would vary on an app by app basis), or you could go ahead and install everything from source with all optimizations enabled, does that mean you would use gentoo? If so, all power to you, but package managers are useful because they are convenient.

iirc people can't just give out .flatpak on thier website

You can distribute a .flatpak (Black Box for example), but it will still need to pull runtimes if it depends on them, so it makes little sense in practice to distribute them outside of a flatpak remote, the point is that it is not completely self contained so you can save space on the biggest part that could be shared between applications

more centralized than AppImages

If you mean that the large majority of apps is on Flathub, sure, but it's not the only remote as I said, if you mean that you have to depend on any remote at all then yes, that's the point. There's nothing wrong with the developer distributing their package from their own website, but, as I see it, it's ok as an option, if you used only Appimages you would be wasting a lot of space in the long run

flatpak has proprietary components

I haven't read anything about it, so I can't comment on that, as far as I knew it's completely open, do you have a source for that claim?

About Snap, I completely agree, though in this case it might be a fit format for the application since it needs a service, it's still relevant mostly for Ubuntu and not much else so personally I would want to see the others being prioritized, but I understand that Ubuntu has a big slice of the market so it'd make sense to focus on that first.

I want to make clear that I'm not against any of the formats suggested, but I want to see the facts laid out fairly

@archerallstars
Copy link

Flatpak would be the best choice as it's supported everywhere. Snap and AppImage are not, especially on immutable oses. For instance, it's not possible to run Snap apps on MicroOS, and AppImage is not encouraged on MicroOS.

I believe Flatpak is also the recommended method on Silverblue. Even on a normal distribution, Flatpak is also a recommended package as it's more secure(with Flatseal at users' deposal), automatically updated, and doesn't require a system restart(when updated). It is not impacted the app performance like Snap.

The only obstacle would be the app requirements that Flatpak might not be the answer (yet).

(I plan to move from Tumbleweed to MicroOS soon 🤣 )

@RaptaG
Copy link

RaptaG commented Jul 21, 2023

Nowadays Flatpak (Flathub) is a really solid choice. It would reach out to many people and make portmaster more accessible, therefore reducing mass surveillance.

@dhaavi dhaavi removed the backlog label Aug 30, 2023
@dhaavi
Copy link
Member

dhaavi commented Aug 31, 2023

Closing in favor of separate issues:

Flatpak support is handled in safing/portmaster-packaging#43.
MSI support is handled in safing/portmaster-packaging#98.

We will look into snap again if flatpak worked out.

@dhaavi dhaavi closed this as completed Aug 31, 2023
@S7venLights
Copy link

+1 Flatpak for Silverblue

Script to install on Immutable Fedora:
https://gist.github.com/WinkelCode/dffeb181a4c7903cbc463169324f61b8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
suggestion TYPE: idea for new feature or improvements
Projects
None yet
Development

No branches or pull requests