Make an official Flatpak on Flathub

(#948) Feature Shipped packaging

Problem

Currently, you can install Fluxer on Linux only as an AppImage, DEB, RPM and tarball, which are not the easiest package formats to use.

Proposed solution

You should make an official Flatpak package for Linux to publish on Flathub as a convenient way to install Fluxer. You should also mention it on the website with Flathub's install badge: image

Notes (optional)

Oh and would you look at the Flathub trending section: image
  • 549577367-39f687ca-7558-4ffd-8fb2-ede43a7d1d63.png

    549577367-39f687ca-7558-4ffd-8fb2-ede43a7d1d63.png

    240×80 | 4 kB

  • 549577688-0109e4dd-1a5b-4948-ac12-de4f149cd589.png

    549577688-0109e4dd-1a5b-4948-ac12-de4f149cd589.png

    1422×495 | 211 kB

39 comments

Sign in with Fluxer to comment and vote.
Comment by @UnRealxInferno
RexSystem 1 vote originally by @UnRealxInferno on GitHub 5 replies
AppImages and RPMs are quite literally the easiest package formats to use, what? +1 for flatpak though.
Comment by @WatchCollector67
RexSystem 1 vote originally by @WatchCollector67 on GitHub
AppImages and RPMs are quite literally the easiest package formats to use, what?
Not for maintainability purposes. Unless the application has a built in auto-updater, the RPM file ships with a specific version and unless manually updated by the user, it will be forever on that version, which could be insecure, broken, etc.
Comment by @UnRealxInferno
RexSystem 1 vote originally by @UnRealxInferno on GitHub
> AppImages and RPMs are quite literally the easiest package formats to use, what? Not for maintainability purposes. Unless the application has a built in auto-updater, the RPM file ships with a specific version and unless manually updated by the user, it will be forever on that version, which could be insecure, broken, etc.
It does have an auto updater built in, it's a discord clone
Comment by @WatchCollector67
RexSystem 1 vote originally by @WatchCollector67 on GitHub
> > AppImages and RPMs are quite literally the easiest package formats to use, what? > > > Not for maintainability purposes. Unless the application has a built in auto-updater, the RPM file ships with a specific version and unless manually updated by the user, it will be forever on that version, which could be insecure, broken, etc. It does have an auto updater built in, it's a discord clone
I'm well aware. I was commenting on RPM's in general, which don't always ship with an auto-updater.
Comment by @lonjil
RexSystem 1 vote originally by @lonjil on GitHub
AppImages aren't portable. E.g. the Fluxer AppImage doesn't work on my Linux computer. But Flatpak apps run fine.
Comment by @askiiart
RexSystem 1 vote edited originally by @askiiart on GitHub
...I'm sorry, are we complaining about RPMs not auto-updating? Like, if this updates like discord does, as @UnRealxInferno seesm to be saying, then that's completely divorced from package management. And regardless, Flatpak doesn't auto-update either, it's just a matter of configuration. And even if Flatpak did, if you can't figure out how to update your computer, Fluxer of all things getting updated should probably be the least of your concerns.
Comment by @dtfleetwood
RexSystem 1 vote originally by @dtfleetwood on GitHub
AppImages and RPMs are quite literally the easiest package formats to use, what? +1 for flatpak though.
Increasingly distros are not supporting packages, and appimage is on a deprecation path for some as well. Flatpak and Snap (for Ubuntu) are almost universally supported these days however.
Comment by @sand-head
RexSystem 1 vote originally by @sand-head on GitHub
just came here to request this! I use a Fedora Atomic image on my laptop, and while I'm going to go the appimage route for now, a flatpak would be preferred (and was the first thing I checked for)
Comment by @dtfleetwood
RexSystem 1 vote originally by @dtfleetwood on GitHub
I spawned a clanker 💔
Ugh, is that what that is?
Comment by @fluoriteByte
RexSystem 1 vote originally by @fluoriteByte on GitHub
I have a working Flatpak hosted on my private repo if anyone needs it. flatpak remote-add --user --no-gpg-verify fluxer https://flathub.gimpel.vip/fluxer.flatpakrepo and it should show up in your Store (Bazaar KDE-Discover) whatever you have.
why private? that seems sus lol, anyways gonna try packing it with it source building
Comment by @gianmarcogg03
RexSystem 1 vote originally by @gianmarcogg03 on GitHub OP
> I have a working Flatpak hosted on my private repo if anyone needs it. > flatpak remote-add --user --no-gpg-verify fluxer https://flathub.gimpel.vip/fluxer.flatpakrepo > and it should show up in your Store (Bazaar KDE-Discover) whatever you have. why private? that seems sus lol, anyways gonna try packing it with it source building
Empty profile too.
Comment by @xxhinotorixx
RexSystem 1 vote originally by @xxhinotorixx on GitHub
> I have a working Flatpak hosted on my private repo if anyone needs it. > flatpak remote-add --user --no-gpg-verify fluxer https://flathub.gimpel.vip/fluxer.flatpakrepo > and it should show up in your Store (Bazaar KDE-Discover) whatever you have. why private? that seems sus lol, anyways gonna try packing it with it source building
Because I wasn't sure if the developers would be ok for me to host a Flatpak of their app officially. I just made it for my friends who are using Bazzite and don't want to constantly run the AppImage. I'm not forcing anyone to use it of course.
Comment by @fluoriteByte
RexSystem 1 vote originally by @fluoriteByte on GitHub
continuation about me trying to pack it: for right now i am stuck with a problem, as per flatpak documentation: setting the disable-lfs flag in the git source SHOULD make it stop trying to pull lfs files, while the primary download succeeds, when it gets to the build phase, it starts updating files, which includes pulling lfs files, which then makes it fails fixed, just dealing with npm bs rn lol
Comment by @xxhinotorixx
RexSystem 1 vote originally by @xxhinotorixx on GitHub
continuation about me trying to pack it: for right now i am stuck with a problem, as per flatpak documentation: setting the disable-lfs flag in the git source SHOULD make it stop trying to pull lfs files, while the primary download succeeds, when it gets to the build phase, it starts updating files, which includes pulling lfs files, which then makes it fails
I had the same problem. In the end I made the Flatpak out of the AppImage.
Comment by @fluoriteByte
RexSystem 1 vote originally by @fluoriteByte on GitHub
yeah, that would be the easiest solution, but i am trying to see if i can maybe get it published to flathub lol :p they require source builds
Comment by @xxhinotorixx
RexSystem 1 vote originally by @xxhinotorixx on GitHub
yeah, that would be the easiest solution, but i am trying to see if i can maybe get it published to flathub lol :p they require source builds
Oh, understandable. I never owned a github repo, and have no idea how it works yet. I'd need to read the documentation for it. That's why I just made my own private flathub. Good luck with building and publishing!
Comment by @spectrapulse
RexSystem 1 vote originally by @spectrapulse on GitHub
I'm unsure why anyone would want a flatpak as it always has been poor in terms of platform integration especially when there's prebuilt deb's and rpm's. If anything anyone should prefer a native package manager maintained version over flatpak but I can see how it might be a problem on immutable Distro's but those usually tend to have different solutions that are preferable. With that said, this doesn't mean there shouldn't be an unofficially supported flatpak, I just don't want to end up with a situation where a flatpak is the only option which does happen.
Comment by @Katacc
RexSystem 1 vote originally by @Katacc on GitHub
With that said, this doesn't mean there shouldn't be an unofficially supported flatpak, I just don't want to end up with a situation where a flatpak is the only option which does happen.
Why wouldn't we want an universal format that works on most* linux systems and is easy for the maintainer?
Comment by @M0n7y5
RexSystem 1 vote edited originally by @M0n7y5 on GitHub
@spectrapulse You can't use prebuilt deb's and rpm's on immutable distros.
Comment by @spectrapulse
RexSystem 1 vote originally by @spectrapulse on GitHub
> With that said, this doesn't mean there shouldn't be an unofficially supported flatpak, I just don't want to end up with a situation where a flatpak is the only option which does happen. Why wouldn't we want an universal format that works on most* linux systems and is easy for the maintainer?
Because of the very reasons I've mentioned in the very reply you're quoting
Comment by @spectrapulse
RexSystem 1 vote edited originally by @spectrapulse on GitHub
@spectrapulse You can't use prebuilt deb's and rpm's on immutable distros.
I'm not sure about Debian based distro's but I know Fedora based images usually come with rpm-ostree which does work with rpm's.
Comment by @neurekadev
RexSystem 1 vote edited originally by @neurekadev on GitHub
> @spectrapulse > > You can't use prebuilt deb's and rpm's on immutable distros. I'm not sure about Debian based distro's but I know Fedora based images usually come with rpm-ostree which does work with rpm's.
Layering like that will dramatically increase build times. It should be done as an absolute last resort. If all software took this approach we'd have a real problem on immutable distros. Do you have a real reason for not liking Flatpak? I like the option to install via package managers too but you seem to have quite the hate boner for Flatpaks despite them being the more popular method of distribution.
Comment by @gianmarcogg03
RexSystem 1 vote originally by @gianmarcogg03 on GitHub OP
Flatpak has its problems, but they're usually exaggerated by the typical /g/ mob. A chat and VoIP application like Fluxer doesn't need deep system integration, it just needs to implement the XDG portals for accessing microphones, cameras, file pickers and global shortcuts.
Comment by @tydog98
RexSystem 1 vote originally by @tydog98 on GitHub
Came here to rep the Flatpak, if it's between Deb/RPM support and Flatpak support, I'd rather Flatpak every time.
Comment by @dtfleetwood
RexSystem 1 vote edited originally by @dtfleetwood on GitHub
> @spectrapulse > You can't use prebuilt deb's and rpm's on immutable distros. I'm not sure about Debian based distro's but I know Fedora based images usually come with rpm-ostree which does work with rpm's.
It is strongly recommended to avoid and minimize the use of rpm-ostree on such distros, and some remove it entirely. Nobody here is advocating for removing native packages, only treating flatpak as a first class citizen alongside them. Most desktop systems where this would be used support flatpak, or can easily install it, and it dramatically reduces management for a maintainer to be able to target one distribution method. That said, once pipelines are built it's not usually a big deal to maintain multiple distribution methods and given that they support AppImage and didn't deprecate the packages I do not think there is any real risk of them deprecating packages. If anything has to be deprecated I'd prefer AppImage due to the problems and security issues with that format. But really nobody is calling for that either.
Comment by @fluoriteByte
RexSystem 1 vote originally by @fluoriteByte on GitHub
fluxer for flatpak is being worked in here, if anyone can help with fixing flatpak's node generator tooling to work with pnpm based projects that would be great because that is the current blocker as of now (generating an npm lockfile then using that does not work, nor does the pnpm to npm converter)
Comment by @fenbyte
RexSystem 1 vote edited originally by @fenbyte on GitHub 2 replies
if @hampus-fluxer could make the flatpak himself that would be the best way forward. i'm doing my best, and have a fully functional flatpak by pulling the tarball from the official website, but as flathub requires building from source wherever possible i feel like there is little i can do without refactoring a lot of stuff to use npm instead of pnpm, which i'm in no position to do as i am really unfamiliar with the javascript ecosystem (and hampus probably chose pnpm for a reason). he knows the codebase better than anyone else so he can adapt it for flatpak-builder's lack of any real pnpm support. flathub also requires some files (.desktop file, appstream metadata, icon...) to be upstream. i highly endorse the creation of a flatpak (specifically an official one), as appimage has several security and usability pitfalls and some people i know outright refuse to use it. if anyone else wants to take a shot at making an flatpak i recommend taking a look at the fluxer-git pkgbuild on the aur for reference. if you come up with something that works and can be automated on flathub's ci, make a pr against my new-pr flathub branch to avoid making a duplicate pr on flathub's repo.
Off-topic comment by @askiiart
RexSystem 1 vote originally by @askiiart on GitHub Collapsed as abusive by Rex: Personal remark about a Flathub reviewer.
my condolences you had to deal with hfiguiere, good luck with that :p
Off-topic comment by @neurekadev
RexSystem 1 vote originally by @neurekadev on GitHub Collapsed as abusive by Rex: Personal remark about a Flathub reviewer.
my condolences you had to deal with hfiguiere, good luck with that :p
Why is someone like that even apart of the approval process? That guy sounds miserable to deal with.
Comment by @Zac0511
RexSystem 1 vote originally by @Zac0511 on GitHub
I would love a flatpak for Fluxer Currently i'm using fluxer-bin from the AUR, but an universal flatpak app would be better.
Comment by @tgf9
RexSystem 1 vote originally by @tgf9 on GitHub 1 reply
Huh. Looks like the unofficial Fluxer World community has a flatpak client: https://fluxer.world/#downloads