15:00:33 <kalev> #startmeeting Fedora Flatpak Packaging SIG 15:00:33 <zodbot> Meeting started Mon Jan 23 15:00:33 2023 UTC. 15:00:33 <zodbot> This meeting is logged and archived in a public location. 15:00:33 <zodbot> The chair is kalev. Information about MeetBot at https://fedoraproject.org/wiki/Zodbot#Meeting_Functions. 15:00:33 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic. 15:00:33 <zodbot> The meeting name has been set to 'fedora_flatpak_packaging_sig' 15:00:40 <kalev> #meetingname flatpak-sig 15:00:40 <zodbot> The meeting name has been set to 'flatpak-sig' 15:00:48 <kalev> #topic First Meeting 15:01:00 <yselkowitz[m]> .hello yselkowitz 15:01:01 <zodbot> yselkowitz[m]: yselkowitz 'Yaakov Selkowitz' <yselkowi@redhat.com> 15:01:02 <kalev> hi and welcome to the first meeting! :) 15:01:47 <tpopela[m]> .hello tpopela 15:01:48 <zodbot> tpopela[m]: tpopela 'None' <tpopela@redhat.com> 15:01:53 <travier> .hello siosm 15:01:54 <zodbot> travier: siosm 'Timothée Ravier' <travier@redhat.com> 15:02:06 <kalev> I guess most of you joining have already read my emails on the devel mailing list and know what this is about -- packaging flatpaks in Fedora context 15:02:08 <OwenTaylor[m]> .hello otaylor 15:02:09 <zodbot> OwenTaylor[m]: otaylor 'Owen Taylor' <otaylor@redhat.com> 15:02:30 <kalev> I thought that we should maybe do a round of introductions, I see some people have already started with this 15:02:41 <kalev> #topic Introductions 15:02:44 <kalev> .hello kalev 15:02:45 <zodbot> kalev: kalev 'Kalev Lember' <klember@redhat.com> 15:02:55 <JanGrulich[m]> .hello jgrulich 15:02:55 <zodbot> JanGrulich[m]: jgrulich 'Jan Grulich' <jgrulich@redhat.com> 15:03:01 <travier> Are we going to use https://etherpad.opensuse.org/p/fedora-flatpaks-sig? 15:03:05 <travier> https://etherpad.opensuse.org/p/fedora-flatpaks-sig ?* 15:03:34 <kalev> my name is Kalev Lember and I've been helping out getting the flatpak packaging started. I maintain the fedora flatpak runtime and try to keep the packaged flatpaks up to date 15:03:56 <kalev> travier: yes, let's do the topic from there after introductions 15:04:06 <travier> 👍 15:04:36 <AllanDay[m]> sorry i'm late 15:04:42 <kalev> anyone else want to say one sentence about themselves? 15:04:54 <kalev> no worries, we are just getting started 15:05:11 <travier> Hi, I'm Timothée Ravier, I maintain Silverblue & Kinoite and I'm part of the team maintaining KDE Apps as Flatpaks on Flathub 15:05:36 <yselkowitz[m]> my name is Yaakov Selkowitz, I've been adding some new flatpaks recently, filing spec file changes to allow for more, and proposing improvements to the existing ones 15:05:55 <tpopela[m]> my name is Tomáš (Tom) Popela and I'm the Product Owner at the Red Hat's Desktop Team - in the past I was working on updating some Fedora Flatpaks and I bootstrapped the Fedora 36 runtime which was not a pleasant experience :D.. I'm also involved with Silverblue and also a member of Fedora Workstation Working Group.. 15:06:08 <JanGrulich[m]> My name is Jan Grulich, I'm a member of Fedora KDE SIG, maintaining Qt packages in Fedora. I also do some work around portal integration into KDE/Qt. 15:06:24 <OwenTaylor[m]> Hi, Im Owen Taylor - I've been working mostly on the infrastructure side of RPM-based Flatpaks for around 5 years - Kalev has amazing keeping the content going. 15:06:32 <JanBeran[m]> Hello everyone, my name is Jan Beran, I am maintaining several Fedora flatpaks. 15:06:52 <AllanDay[m]> my name is Allan Day. i'm on the Fedora Workstation Working Group. i'm mainly a designer but i sometimes do docs and organising :) i've done some work around flatpak and flathub previously 15:07:40 <kalev> excellent! welcome everybody 15:07:57 <travier> 👋 15:07:59 * rishi[m] waves 15:08:20 <rishi[m]> Sorry, it seems like Fractal didn't scroll the window and somehow there's nothing in my IRC client. 15:08:39 <travier> We just did introductions 15:08:42 <rishi[m]> So, I was beginning to get worried. :) 15:08:48 <kalev> :) 15:09:23 <kalev> ok, let's move on with our topics from the etherpad 15:09:26 <kalev> #topic Announcements 15:09:42 <rishi[m]> I am Rishi. I work on Fedora Silverblue and Workstation. I have been involved in various other projects over the years, like GNOME and Flatpak. These days I am mostly working on Toolbx. 15:10:16 <kalev> #info yselkowitz has added ~20 new flatpaks over the last two weeks and got flatseal packaged -- awesome work! 15:10:26 <travier> nice 15:10:58 <kalev> any other announcements? :) 15:11:12 <yselkowitz[m]> there's a lot more coming once spec file changes get merged 15:12:47 <kalev> I wonder if we could somehow do a team effort to help get them reviewed and merged? I know several people here are provenpackagers and should be able to help merge stuck PRs 15:13:14 <yselkowitz[m]> I'm a provenpackager too fwiw but I'd prefer cooperation here 15:13:28 <kalev> yes, same here 15:14:15 <kalev> maybe we could give them two more weeks and if nothing happens in the mean time, we could do a team review of the PRs at the next meeting and just go and merge them? 15:15:09 <kalev> I know there's a PR that's blocking libreoffice flatpak updates, which is a fairly prominent package 15:15:10 <travier> Before we dwelve into specific app issues, could we discuss the general topic of Flatpaks in Fedora? 15:15:14 <tpopela[m]> Jan Beran works on getting rid of fedmod in the Fedora Flatpak tooling by moving relevant parts of it into flatpak-module-tools which should help us in the long term (as the fedmod tool is abandoned anyway) 15:15:33 <kalev> ah, awesome, I dind't know that! 15:15:48 <kalev> yes, let's do the general flatpaks in Fedora topic 15:15:51 <tpopela[m]> kalev: the flatpak-sig might help if we are talking about PRs under the flatpaks/ dist-git namespace.. then we wouldn't have to rely on provenpackagers.. 15:16:11 <kalev> tpopela[m]: no, we are talking about PRs to rpms/ that yselkowitz[m] wants to package as flatpaks 15:16:22 <kalev> #topic Why do we need Fedora Flatpaks? 15:16:46 <kalev> OwenTaylor[m]: do you want to take this one? 15:16:55 <OwenTaylor[m]> Yikes ... maybe we don't go there? I don't think that's a finite discussion :-) 15:17:06 <travier> So I've understood that we can not pre-install Flathub Flatpaks for legel reasons (they do not only include free software) 15:17:19 <travier> we have to adress this 15:17:32 <travier> write things clearly 15:17:40 <travier> legal* 15:17:47 <travier> is this still correct? 15:17:54 <tpopela[m]> Fedora Flatpaks were started so we have something to preinstall in Silverblue and we don't have to put it into the base image.. 15:18:38 <tpopela[m]> and we were not able to point to Flathub - this actually might change, but it won't help to those that don't enable third-party repositores in Fedora 15:19:04 <tpopela[m]> and also there isn't a way to preinstall Flathub Flatpaks through Anaconda on Silverblue.. 15:19:15 <kalev> another goal with Fedora Flatpaks was to try to see if we can improve on the packaging format in Fedora, so that we'd slowly start migrating from rpms to Flatpaks 15:19:19 <travier> What's the state of the infra used for building Flatpaks? Is OBS still maintained? 15:19:45 <travier> How much do we really want to invest in Fedora Flatpaks when most users will pick Flathub ones? 15:20:04 <OwenTaylor[m]> But the brief of it is a) so that we can ship Flatpaks preinstalled b) To get to a more Flatpaks future - because some users and packagers feel strongly in the value of Fedora infrastructure, and forcing people to stop making packages in favor of Flathub that Fedora has no control over is really hard politically. 15:20:47 <tpopela[m]> kalev: true - I would really like to see i.e. Firefox maintainers to produce one Flatpak instead of doing builds per all supported release (from resources point of view) 15:21:09 <AllanDay[m]> tpopela[m]: i wonder about this goal to be honest. how many apps do you need to be able to provide a viable experience? 15:22:16 <OwenTaylor[m]> Unfortunately, I have to leave in about 5 minutes. I will mention that the MBS team has some time this month to review more of my local build patches - with luck maybe we can get the improved logging and restarting local builds parts merged - definitely the logging parts - the download caching parts are not likely to land soon. 15:22:21 <tpopela[m]> AllanDay[m]: We wanted to get to the same level as with Workstation.. 15:23:34 <travier> If we trylly want to makes Fedora Flatpaks replacement for RPMs then we need the builds to be synced with RPMs one 15:23:39 <AllanDay[m]> tpopela[m]: that seems like both a) a lot of apps and b) not enough apps :D 15:24:12 <rishi[m]> Umm... we at least need a web browser, no? 15:24:18 <kalev> travier: indeed, I that's the big thing that we are missing 15:24:59 <travier> From an upstream developer and Flathub packager perspective, maintaining Flatpaks in Fedora is painful for me 15:25:25 <OwenTaylor[m]> travier: In the end, we need to move past modularity - and probably a replacement would be "more automated" - but it's a hole unresourced pile of work :-( 15:25:26 <travier> I have Fedora knowledge, Flatpak & app knowledge and it is painful for me 15:25:29 <tpopela[m]> rishi[m]: Firefox is still shipped as an RPM in Silverblue, but I hope that this year we will be able to change that.. 15:25:29 <OwenTaylor[m]> whole 15:25:43 <travier> We really need to improve if we want other people to contribute 15:26:19 <kalev> I very much agree with that and I think that's one of the things we need to work on if we want the fedora flatpaks story to get better 15:27:08 <travier> Do we trully need to rebuild everything? 15:27:20 <travier> I mentionned that in the channel and the reply was about /app 15:27:21 <yselkowitz[m]> as I've been trying to add a lot more flatpaks, I'm starting to see common pitfalls, I could try to write these down and see if they could be addressed, or at least better documented, in a future meeting 15:27:25 <travier> how mandatory is that? 15:27:41 <travier> If we could pick RPMs and install them in Flatpak that would make things much easier 15:27:45 <kalev> yselkowitz[m]: that would be nice 15:28:04 <yselkowitz[m]> the runtime isn't rebuilt iiuc 15:28:28 <OwenTaylor[m]> travier: Making RPMs relocatable is truly hard, and particularly hard on packagers. Extending Flaptak to allow layering on top of /usr is massive hard work on the Flatpak side... 15:28:58 <travier> ok :/ 15:29:03 <kalev> no easy way out :( 15:29:18 <travier> Then we need to talk about the runtime and the KDE / GNOME split 15:29:26 <kalev> for what it's worth, I personally also think that it's sad that we have so much duplicated work going into Fedora and Flathub 15:29:31 <OwenTaylor[m]> the runtime / app split is one of the "basic principles" of Flatpak, and while it's orthogonal to other basic principles like the portal system, ostree storage, etc, it's not going to be easy to convince upstream that it's even a good idea - and then it's a lot of work. 15:29:33 <travier> we should probably split the same way the Flathub runtime are split 15:30:21 <OwenTaylor[m]> Sorry, have to go now. Will review the log. Made one note in the etherpad about a KDE runtime for informational purposes. 15:30:38 <travier> Oh, I'm not speaking about ditching runtimes. But having a way to generate either the apps or the runtimes from RPMs would make things much faster 15:30:38 <kalev> but I don't think we can avoid the duplicated work - as sad as it is, and as much as I personally feel I belong to both communities, I think we just have to live with two different packaging spheres 15:31:29 <kalev> I think we have all said what we had to say about the general flatpaks in Fedora topic. Let's move on to something less depressing :) 15:31:42 <travier> ok 15:31:44 <kalev> #topic openh264 15:32:15 <kalev> so, one of the big missing pieces from fedora's firefox flatpak is video playback 15:32:32 <travier> If we could figure out a way to have that shipped by Cisco as an extension that would unlock usage for the Firefox Flatpak and would make it a much better story for Silverblue/Kinoite switching to the Flatpaks 15:32:41 <kalev> in the rpm world, we have the cisco hosted open264 rpms and the way it works is: 15:33:12 <kalev> fedora builds openh264 in koji, signs the rpms, sends the rpms to cisco, cisco uploads them, and then fedora users download the rpms directly from cisco 15:33:28 <kalev> so they are produced by the fedora koji build system, but downloaded directly from cisco 15:33:46 <kalev> and what we are missing is something similar for flatpaks 15:34:05 <kalev> I spent some time looking into this and came up with the following idea: 15:35:00 <kalev> flatpak has the extra data system in its manifest, which can be used to instruct flatpak on the client side to download extra files 15:35:45 <kalev> so we could set up a flatpak runtime extension that includes the metadata that tells flatpak to go and download the same rpms that cisco hosts 15:36:28 <travier> 👍 15:36:38 <kalev> the downloads would all be done on the client side, would download the same rpms that were built in koji and everything would still be hosted by cisco :) 15:36:42 <travier> Then dynamically extract it in the right place? 15:36:45 <kalev> yep 15:36:52 <travier> looks good 15:36:58 <yselkowitz[m]> prefix? 15:37:13 <kalev> /usr - it's a runtime extension so it's all in /usr 15:38:21 <kalev> I actually already have it working locally and it seems to work fine, with the exception that I haven't figured out how to have different metadata for x86_64 and aarch64 15:38:51 <kalev> I think we may need to extend the container yaml somehow, but I think it's a nice step forward if we get only x86_64 working in the initial cut as well 15:39:22 <kalev> and with this, I think we should be able to switch to shipping firefox flatpak in silverblue soon 15:39:36 <kalev> that was my report :) 15:40:49 <kalev> #info Kalev has a plan how to do the openh264 flatpak runtime extension using Cisco hosted openh264 rpms 15:40:54 <kalev> ok, let's move on 15:40:55 <tpopela[m]> kalev: the switch won't be that easy.. we won't be able to automatically install the Firefox Flatpak for our users.. we can do that only for clean installations :/.. we will have to come up with a migration plan.. 15:41:06 <kalev> ah, true :( grr 15:42:24 <travier> yes, we need a lot of things still 15:42:29 <travier> a story for extension maangement 15:42:35 <travier> U2F devices 15:42:55 <kalev> What's U2F? 15:43:05 <kalev> 2 factor auth? 15:43:14 <travier> FIDO (yubikey, etc.) 15:43:15 <travier> yes 15:43:17 <travier> https://github.com/fedora-silverblue/issue-tracker/issues/288 15:43:17 * kalev nods. 15:43:18 <tpopela[m]> travier: GNOME Shell extension management should be resolved this year as well.. 15:43:31 <travier> I've started a tracker issue to trace things 15:44:13 <tpopela[m]> for reference https://github.com/flatpak/xdg-desktop-portal/pull/705 15:45:14 <kalev> nice, that last one seems to be moving along 15:45:29 <kalev> OK, let's move on - we only have 15 minutes left 15:45:43 <kalev> #topic flatpak-sig Fedora group and access to flatpaks/ namespace in dist-git 15:45:49 <tpopela[m]> yes, I'm really positive about Firefox in Flatpak on Fedora.. 15:46:38 <kalev> should we do group access, so that everybody in the sig is in the flatpak-sig Fedora group, and we add flatpak-sig commit access to all flatpaks/ packages? 15:47:35 <kalev> it's not super important to me personally because I'm provenpackager, but may be useful for other people 15:47:57 <tpopela[m]> yes, that's what I had in mind.. also it might be handy to look for pending PRs and others (if we will use the Fedora Packager Dashboard) 15:47:58 <JanGrulich[m]> I think that would make sense. That's what we do in KDE SIG. All KDE/Qt related packages have kde-sig with commit access and everyone from the SIG can do stuff. 15:48:06 <kalev> I know that rust and go have similar sigs where there is a releng script that periodically goes and adds rust-sig / go-sig to all of the rust-* / go* packages 15:48:21 * kalev nods. 15:48:33 <JanGrulich[m]> * have kde-sig group added with commit 15:48:52 <kalev> makes sense to me - I can take the action item to set it up 15:49:21 <kalev> #action Kalev to set up flatpak-sig pagure group for flatpaks/ namespace 15:49:35 <rishi[m]> Makes sense to me too. Also, if someone wants to become a provenpackager, then I am happy to vote for you. :) 15:49:37 <travier> 👍 15:49:54 <kalev> ok, next topic! 15:49:55 <TheEvilSkeleton> Sorry for being ultra late. I was supposed to join 40 minutes ago but had a little emergency 😐️ 15:50:05 <kalev> no worries! nice you are here now 15:50:23 <travier> 👋 15:50:45 <TheEvilSkeleton> o/ 15:50:46 <TheEvilSkeleton> I'll read since the beginning 15:50:55 <kalev> #topic KDE/Qt runtime? 15:50:56 <TheEvilSkeleton> .hello theevilskeleton 15:50:57 <zodbot> TheEvilSkeleton: theevilskeleton 'Hari Rana' <theevilskeleton@riseup.net> 15:51:21 <kalev> so, right now we just have a single runtime - should we have another one that has all the KDE libs? 15:51:36 <travier> we definitely need that for KDE Apps in Feodra 15:51:42 * kalev nods. 15:51:42 <yselkowitz[m]> I think we have to 15:51:46 <travier> otherwise the builds time are just not manageable 15:52:12 <tpopela[m]> This is what Owen Taylor wrote about it into etherpad: 15:52:13 <tpopela[m]> [otaylor] Shared files will be de-duplicated for local storage, but not on initial download or delta updates. 15:52:22 <yselkowitz[m]> not to mention koji builder resources 15:52:27 * kalev nods. 15:52:27 <travier> I had started doing one from the existing runtime but it's not really developer friendly 15:52:28 <rishi[m]> Does the current Fedora runtime map closely to the upstream GNOME runtimes? Or are they very different? 15:52:40 <JanGrulich[m]> +1 for KDE/Qt runtime. It doesn't make sense to include KDE frameworks and all the other Qt modules in the base runtime or have apps to bundle KDE frameworks or missing Qt modules themself, We will end up in hell as many times KDE frameworks need rebuilds for Qt update. 15:53:05 <travier> The current runtime has more than the Flathub GNOME runtime 15:53:16 <travier> Qt at minimum 15:53:24 <kalev> rishi[m]: the fedora runtime ships basically the same things that the GNOME runtime in Flathub, but adds a few things on top of it - in particular, Qt 5 is added on top 15:53:27 * kalev nods. 15:53:33 <tpopela[m]> rishi[m]: they're similar - the upstream one is taken as a base for the Fedora one.. 15:53:44 <travier> So there would be a bit duplicated but I don't think that's a big issue 15:53:46 <rishi[m]> I see. 15:53:54 <JanGrulich[m]> also Qt modules need to be in sync so if the base runtime has newer Qt, all apps bundling other Qt modules will need rebuild 15:53:59 <kalev> so my proposal here is that if someone is interested in trying to package KDE apps, we could add a second runtime and keep the current one as is - not take Qt out for now 15:54:28 <rishi[m]> Maybe we could split the Fedora runtime in the same way as the upstream GNOME and KDE runtimes? 15:54:30 <travier> I'm OK with that. I can work on that but I need help and docs update 15:54:41 <travier> I may* work on that 15:55:09 <kalev> I'd be happy to give a helping hand with this 15:55:41 <yselkowitz[m]> I'm interested too 15:55:41 <JanGrulich[m]> kalev: same here 15:56:09 <kalev> awesome - if we have people interested in building a second runtime and maintaining it, I think it makes a lot of sense 15:56:41 <TheEvilSkeleton> Hold on, aren't we just turning into Flathub 2.0? Like, we should be collaborating them instead of competing... 15:56:42 <JanGrulich[m]> I think we can take the KDE/Qt runtime under KDE SIG umbrella 15:56:58 <kalev> I know I personally wouldn't want to take care of two runtimes, but if we can get two groups, like let's say the Workstation WG taking care of one runtime and the KDE sig taking care of the other 15:56:59 <yselkowitz[m]> TheEvilSkeleton: see the earlier discussion 15:57:19 <TheEvilSkeleton> Can you link? I can't follow through on Element because it always scrolls back and forth 15:57:33 <travier> I think it's going to be hard not having two different runtimes 15:57:35 <TheEvilSkeleton> It probably skipped a huge chunk without me realizing it 15:57:47 <yselkowitz[m]> we're almost done, the minutes should be published afterwards 15:58:04 <kalev> TheEvilSkeleton: we are pretty much done with the meeting soon. let's stay on track here and not go back to the depressing topic. I'll send meeting minutes with the full discussion 15:58:56 <kalev> #info The KDE SIG is interested in taking the KDE/Qt runtime under KDE SIG umbrella 15:59:19 <travier> From my perspective, we'll likely not package all apps, only the ones that we need installed by default 15:59:31 <travier> at least that's my goal 15:59:32 <kalev> makes sense to me 16:00:15 <kalev> if you guys want, I could come to a KDE sig video meeting and try to explain how the runtime packaging works 16:00:33 <kalev> anyway, we are over time here! 16:00:33 <travier> I think we should schedule something at another time 16:00:37 * kalev nods. 16:00:41 <travier> for training 16:00:52 <kalev> we made good progress here! thanks everybody for coming and see you all in 2 weeks 16:00:55 * adamw taps feet, looks at watch 16:00:58 <kalev> #endmeeting