-
Notifications
You must be signed in to change notification settings - Fork 30
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
Flatpak packaging #14
Comments
Yes, an verified release on Flathub would be most welcome. I'll guess it's on the roadmap for the stable release. |
The current tarball approach is not optimal, a flatpak release would be greatly beneficial! |
+1 |
I've made a few flatpak contributions before so i figured i'd give this a shot (more as a learning project than anything else) Here's my metadata repo so far: https://github.com/MoralCode/Grayjay-Flatpak/tree/grayjay-desktop Current status: i can get it to build a flatpak, but I'm still working through a list of errors when I go to run it that are mostly caused by Flatpak's read only filesystem and structure. If anyone is familiar with how Flatpak's work, assistance would definitely be appreciated to help speed up the process. The current issue that I have that I cant resolve easily is that Grayjay wants to create a When I symlink that location to a place that is writable, it complains that related: #63. seems like the issue is fixed and just waiting for a new release. so flatpaks cant work until at least release 6 comes out. |
Another not really issue but something that may be nice to have is that FUTO's source first license does not have an SPDX identifier associated with it, making it hard to define the license in the flatpak metadata (therefore i just made up some value) |
Flathub has a "Special license" option for cases like this. See DuckStation for an example. With FUTO's license, the Flathub license section would be yellow and read something like: This app is developed under the special license Source First License 1.1. |
Yeah, it looks like that may be detecting the use of a creative commons license for source code (which is typically not recommended). While i cant find the manifest for DuckStation (the flathub page links to a github gist thats now a 404) I strongly suspect they still declared that license using the SPDX identifier that exists for that particular creative commons license (since thats a well known license for art and other content). Also looking at Flatpaks MetaInfo guidelines, i think i may be technically in the wrong by making up something thats not in the SPDX identifier list. i might end up doing what the docs suggest until theres a proper identifier for all the variants of the source first license:
I realize calling grayjay proprietary is not correct, but if I cant specify the source first license, id rather err on the side of proprietary and then have people be surprised to read the license and find that its more open versus the other way around. Let me know if there's a different way that flathub offers to specify custom, non-SPDX licenses that I'm not aware of! |
When publishing to Flahub, I'm sure they will be able to override their system, and make FUTO's license fall into the "special license" category on their site. For now, the |
Seems like release 5 has disappeared from the tagged releases? unsure what happened |
@michaelBelsanti's nix build from source config may also be pretty helpful here. I'm probably still going to wait for a new release to get cut and work from there |
ok, release 5 is back, but unsure if it contains the necessary fix to follow the XDG spec |
that was included in v4 already |
ah ok. Does the latest tagged release correspond to the zip files that are hosted on the grayjay website? thats currently where im getting the release versions of the code for the flatpak so i'm not dealing with both setting up a new build process AND seeing if it works |
Yep |
Small breakthrough: i now have a window that opens cons: the window is blank and there are errors in the log. will keep playing with it. contributions from people who know this codebase better are welcome! I definitely wont have the bandwidth to maintain this into forever |
Side quest for someone else: #167 (comment) should probably be documented somewhere for others trying to use this app in other systems/configurations, like installing to /opt. i also experienced it while debugging the flatpak stuff but ended up only doing so after reading the code, so it would have saved me time |
we have a UI! Note for anyone recreating this: you need to copy |
playing with the app now. it appears to work well.
A couple youtube channel thumbnails seem to not be loading but that seems pretty minor My system is a Kubuntu 24.04 LTS system, so having some validation that this works (even with the sketchy workaround above) on other systems (Gnome, NixOS/atomic distros, etc) would be great |
Should people choose to test this early and dont want to build it from the metadata, i found some instructions for bundling a flatpak to (and loading it from) a file. The bundle file I have generated has been uploaded as an artifact to the repository at https://github.com/MoralCode/Grayjay-Flatpak/releases/tag/v1 Note the comments above and in the "release notes" - you need to copy some files to make it run. Proposing this to flathub is currently blocked on:
|
oh another known issue: i need to fix the .desktop file so you have to use flatpak run i think Edit: fixed, but its not in the v1 bundle |
There is also a question of whether someone can actually get the Flatpak building from source. This would mean Flathub could distribute ARM64 binaries, which are currently missing from the official releases. I believe that building the Flatpak from source is a requirement for verification on Flathub (at least for FOSS applications). |
yeah, since this is my first time packaging a flatpak start to finish, I figured id start on easy mode and use the zip so I wasn't trying to debug two unknowns at once. Happy to help if someone else wants to take the lead on learning how to build from source! |
I tried to build your repo, and I did get a window to open, but it's currently just a blank white, and is throwing errors about accessing my system's secret service provider. I'm also a bit concerned about running anything Chromium-based with
|
i saw the secrets errors too when i got it running, those are not the problem causing this. Per MoralCode/Grayjay-Flatpak#6, you need to copy two files from the installation directory (easiest to just download the zip fresh) into your flarpak user data directory.
This is not something I configured. it is part of the args passed in, which are provided at
i dont know what specifically cef is for so i cant comment on the necessity of this but this is proably worth filing a new issue (or searching for an existing issue) for.
filed at MoralCode/Grayjay-Flatpak#7 |
I made #416 to see what Futo's engineering team says about this. |
Status update: I have build from source working now and have a set of patches pending integration into the upstream gitlab repo for removing the ugly hacks workaround. Once the patches are in the right places, ill start the PR for getting this contributed to flathub |
submission has been made to the flathub repo, so we'll see how it goes from there! (if anyone spots any issues with my submission based on your own flatpak experience, please let me know!) |
I'm sure at least some Futo engineers are familiar with the Flatpak packaging format for Linux. Offering a Grayjay Flatpak would have the following advantages:
You could publish on Flathub, which would make installing Grayjay even easier, since almost every distro already configures Flathub out of the box, and give you some additional exposure. Flathub has some guidelines for developers who want to get verified, or get their app featured on the front page.
If you want the benefits of Flatpak, but for any reason do not want to deal with Flathub, you can also self-host your own Flatpak repository (you already self-host an F-Droid repo). There is documentation for this on the Flatpak website.
I understand this will most likely be very low priority, before Grayjay Desktop reaches a stable release.
The text was updated successfully, but these errors were encountered: