-
Notifications
You must be signed in to change notification settings - Fork 164
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
Create and maintain official Flatpak packages on Flathub #233
Comments
I can help cleaning the manifest if needed. Regarding the dev/snapshot, there's currently no way to pass any argument to the docker container running on a github action, otherwise, we could have had nightlies with flatpak easily. |
I tried getting gtg to work with builder a while back but apparently it doesn't support the "simple" build command, we would need a build system like meson to work out of the box with builder. We could take a look at how Timetrack does it: https://gitlab.gnome.org/danigm/timetrack/tree/master/flatpak |
Here's the manifesto I've been using for GTG master, @bilelmoussaoui could you give it a quick check? If it looks good we can include it in the repo and make the 0.4-RC flatpak from this one https://gist.github.com/diegogangl/973b0ffade9976993580c1c4401ba858 |
|
Well, how else are we going to
Fixed. I added own-name for GTG* because we need to own GTG and GTGTasks (it's a long story: #277), is that acceptable? Thanks for taking a look! I've updated the gist |
BTW, is the location of our icon right or should we move it? |
The location looks right, but not the icon name. Flatpak only exports the files that are exported with the app-id; so the icons should be renamed to follow the app-id as well https://github.com/getting-things-gnome/gtg/blob/master/data/org.gnome.GTG.desktop#L10 and you don't need to own org.gnome.GTG* because you already own your app-id by default (otherwise you won't even be able to run your gtk app in a flatpak sandbox) The documents portal (Gtk.NativeFileChooser) allows you to get access to a file/directory temporally As the tasks are saved under xdg-config (hopefully), you shouldn't need any permissions to edit/remove them. No permissions needed for that |
So they can be exported by Flatpak ref #233
This way we can select folders outside the sandbox in Flatpak ref #233
Alright, fixed the icon and used Gtk.NativeFileChooser for the export plugin, once we tag an RC we should be ready to publish |
@bilelmoussaoui I'm trying to build the flatpak and I'm hitting a problem now:
I removed the old dbus wrapper but I'm still getting this message (and gtg refuses to start). Are we missing some permissions in the file? |
Per https://github.com/getting-things-gnome/gtg/blob/master/GTG/gtk/application.py#L85, this might not work if you're running debug release. The devel version requires a different manifest in general, with a different app-id :) |
There's no debug release yet, that depends on the Meson port. The app id is only changing if you run gtg with the debug parameter ( |
Most be dbus lib that does some weird things, you shouldn't require the whole system bus just to talk to org.freedesktop.login1 |
I think that's the problem, we're not talking to org.freedesktop.login1, we're listening for a signal.
Is there any documentation on how to do this inside flatpak? I can't find anything. |
Doesn't really matter if you listen to a signal or not; |
I ended up removing the old dbus wrapper, a function in the plugin api and fixing the timer. Now it's all working correctly under the restrictions. 👍 |
So my understanding is that:
And do we have to worry right now about the org.gnome.GTG vs io.gnome.GTG namespace thingy as per https://discourse.gnome.org/t/official-proposal-how-we-define-gnome-software/3371/16 or do we consider we have enough yaks in the tundra and that we should just release as org.gnome.GTG for the time being and "if it breaks people's flatpaks later on, we just blog to tell them how to uninstall and reinstall and migrate their data from one folder to another"? |
I pushed a flatpak manifest into master yesterday. It's already using meson, the only thing missing is to point to a specific commit and voila, we have a stable flatpak.
Remember that to use io.gnome we would have to be accepted in Gnome's Circle. And we still can't tick all the boxes for that. So I suggest we launch as we are for now. We are not the only ones who will have to migrate anyways.
Flathub? We have to look into the publishing workflow there. Once we have pretty screenshots of course :) |
I'll try to get something running on my Fedora machines to take new "marketing" screenshots. As for Flathub submissions, it seems from https://github.com/flathub/flathub/wiki/App-Submission that it's mostly just a matter of cloning the flathub repo under our own project, making a branch in it, and then doing a pull request from that to flathub itself; but how does one handle "stable" vs "dev" versions in there, two branch names I suppose? "gtg" and "gtg-nightly" or something? |
Seems like we need to have a branch called "beta" in our flathub repo: |
You can't publish a nightly release in Flathub, at least not yet. Most of nightly apps hosted on GNOME uses a different app-id to allow both versions to co-exists. Once you publish your application on Flathub it must have one unique app-id. You can still use the nightly design for the beta version but it must use the same app-id. |
Ah that's a shame. Having the same app-id means users would test the beta with their actual data from the stable version. |
I actually consider it a (safety) feature that the development version doesn't touch the user's regular data, so I don't think this should be blocking it. If we can somehow have the nightly (so to speak, with its different app-id) flatpak published, that would be very relevant to include in the pre-release announcement blog post that I've drafted... |
A few observations on the existing flatpak package attempt by Diego:
|
that was probably a typo
probably an issue on the app itself
sure, submit the app and mention you need to have it on beta first. Beta != git btw :) it has to be at least usable/ can be run |
Hello! Thanks for the excellent blog post on Planet GNOME, @nekohayo !
I don't know if this is useful (maybe you already know about this), but there are
... I think (citation definitely needed: I'm very very new to the whole linux application development / flatpak stuff) that you can use the same app-id and publish to these channels (EDIT: re-reading the docs for gnome-nightly, looks like they encourage a different app-id so you can "install ... [apps] ... alongside the regular stable versions"). They aren't well-documented, though. I first learned about the Flathub Beta Repo because I was tracking when Firefox was going to be available in Flathub but I see there's also more info about beta releases on Alexander Larsson's blog. More info about the GNOME nightly flatpak repo is on the Apps/Nightly wiki. |
Glad you liked the blog post, and thanks for the comment here, hopefully there's some insights that Diego & others can use here :) Meanwhile I encountered a whole other issue where the package really doesn't like playing nicely with a system install (maybe Bilal would know what causes this): #367 |
Diego has made a request here: flathub/flathub#1618 |
For whatever it's worth, I can now confirm that I can install GTG 0.4.0 by running...
🙌Thanks! 😁 |
Cool! For what it's worth https://flathub.org/apps/details/org.gnome.GTG does not yet seem to be showing online (it gives a 404), I don't know how long it takes for that to happen... |
The frontend doesn't support beta apps yet. |
The stable version now shows up on the flathub website and overall it seems to "Just Work™", so Mission Accomplished. |
So they can be exported by Flatpak ref getting-things-gnome#233
This way we can select folders outside the sandbox in Flatpak ref getting-things-gnome#233
In order to:
...it would be nice if the GTG project provided two (or three) sets of flatpak packages:
The basis for these exists in the commits that @bilelmoussaoui made in https://github.com/bilelmoussaoui/gtg-flatpak
Bilal mentioned to me that he would prefer, from a policy perspective, that the upstream project (that is us) maintains the flatpak, rather than flathub folks maintaining a gazillion things.
So whoever is taking and spearheading this task here (not me, I'm afraid), would need to:
The text was updated successfully, but these errors were encountered: