syt0r / Kanji-Dojo

A multi-platform application for memorizing Japanese language
GNU General Public License v3.0
244 stars 7 forks source link

Better Linux Redistributive #175

Open syt0r opened 3 months ago

syt0r commented 3 months ago

Current jar format is not the best so I'm looking for options to improve it, I believe deb is not very nice too nowadays

I've tried to make snapcraft version some time ago but there were some issue with strict mode enabled, it's in the snap folder in the root of repository.

I'm considering other options too, I also heard about flatpak and AppImage, so if someone is familiar with linux ecosystem and can suggest/implement necessary stuff it would be really helpful

I'll provide additional info if needed

o-zig commented 1 month ago

While the jar is usable, I think both flatpak and AppImage may be the best ways to support most Linux distros without having to package for a bunch of them specifically. snaps are, to my knowledge, still only used by Ubuntu and its forks.

I would also need to look into packaging, but I think flatpak and AppImage I could figure out with a reasonable amount of effort.

The other packaging formats I'm aware of are rather distribution-specific. While I would find supporting them interesting, it's also a problem of diminishing returns. The biggest formats that come to mind are snap, rpm and deb.

Also thanks for the awesome project.

KennethOshiro commented 1 month ago

snaps are, to my knowledge, still only used by Ubuntu and its forks.

It is possible to use snap packages on non-Ubuntu distributions, according to the documentation. I've been trying to build the app using the snapcraft file, but there are indeed some issues that need to be ironed out before it can be released.

flatpak may be a good alternative, especially if we are able to publish the app onto something like FlatHub. Snapcraft also has Snap Store so it may be a good way to gain more users/contributors.

o-zig commented 1 month ago

Small question, @syt0r, do the Linux redistributables need network access? Both flatpak and snap require/recommend configuring permissions and since they do not ship Firebase Analytics, I would assume not.

syt0r commented 1 month ago

A bit of info about what might be wrong with snap packaging: when you run Kanji Dojo's jar it automatically unpacks a dynamically linked library file packaged within into some folder in user's home directory so there might be not enough permissions to access and write there

syt0r commented 1 month ago

@o-zig there's actually a functionality to send feedbacks withing the app, and I plan to add more features with network in future so it would like to have network access