<@james:fedora.im>
16:01:20
!startmeeting fpc
<@meetbot:fedora.im>
16:01:21
Meeting started at 2026-05-28 16:01:20 UTC
<@meetbot:fedora.im>
16:01:21
The Meeting name is 'fpc'
<@james:fedora.im>
16:01:23
!topic Roll Call
<@tibbs:fedora.im>
16:01:27
Hello.
<@james:fedora.im>
16:02:01
Hey
<@conan_kudo:matrix.org>
16:02:02
!hi
<@salimma:fedora.im>
16:02:06
!hi
<@salimma:fedora.im>
16:02:14
I'm in this shitty internal meeting so this is a nice distraction
<@gotmax23:fedora.im>
16:02:18
!hi
<@gotmax23:fedora.im>
16:03:15
#1539, #1540, #1541 PRs should be ready to discuss
<@gotmax23:fedora.im>
16:03:33
There's also issue #1538 about Openstack
<@gotmax23:fedora.im>
16:03:42
!hello
<@zodbot:fedora.im>
16:03:44
gotmax23: Maxwell G (gotmax23) - he / him / his or they / them / theirs
<@carlwgeorge:fedora.im>
16:04:09
!hi
<@zodbot:fedora.im>
16:04:15
Carl George: Carl George (carlwgeorge) - he / him / his
<@gotmax23:fedora.im>
16:04:38
I filed https://github.com/fedora-infra/maubot-fedora/issues/152 about the broken `!fpc` command, but no response yet
<@decathorpe:fedora.im>
16:06:31
!hi
<@zodbot:fedora.im>
16:06:33
Fabio Valentini: Fabio Valentini (decathorpe) - he / him / his
<@james:fedora.im>
16:06:46
!topic FPC PR 1539 - https://forge.fedoraproject.org/packaging/guidelines/pulls/1539
<@gotmax23:fedora.im>
16:07:54
Any questions here? Basically, we already allowed including pre-generated JS and CSS but the Guidelines were still unclear about it. This PR fixes that.
<@gotmax23:fedora.im>
16:08:10
Any questions here? Basically, we already allowed (well, FESCo did, I guess) including pre-generated JS and CSS but the Guidelines were still unclear about it. This PR fixes that.
<@james:fedora.im>
16:08:27
Yeh, seems fine to me.
<@tibbs:fedora.im>
16:08:51
It still amazes me that this is allowed, but that wasn't a decision of this committee. And certainly the document shouldn't contradict itself or policy.
<@james:fedora.im>
16:09:06
For churchyard's question ... I assume it was MUST in the srpm, but now I'm not sure.
<@gotmax23:fedora.im>
16:11:29
Shall I push the big blue button or does anyone have other objections?
<@tibbs:fedora.im>
16:13:50
I wonder if the forge has anything we could use for voting in tickets.
<@decathorpe:fedora.im>
16:14:21
Wasn't the problem that the guidelines for generated code in "What can be packaged" was less strict than the explicit rule against JS and CSS?
<@conan_kudo:matrix.org>
16:14:39
yes
<@conan_kudo:matrix.org>
16:14:44
yes, that's what I thought too?
<@decathorpe:fedora.im>
16:14:50
or is it the other way round? I'd rather just drop special casing for JS / CSS ...
<@conan_kudo:matrix.org>
16:15:29
tbh, I don't know why we shouldn't have the JS/CSS being compiled during package build at all times
<@gotmax23:fedora.im>
16:15:35
This is specifically about pre-generated/minified CSS and JS. FESCo grnated a special exception.
<@conan_kudo:matrix.org>
16:15:45
when did we do that?
<@gotmax23:fedora.im>
16:15:56
I think this is *less* strict than the general Guidelines
<@gotmax23:fedora.im>
16:16:08
https://pagure.io/fesco/issue/3269 is for CSS
<@james:fedora.im>
16:16:13
We can use emoji's on a comment ... but PRs have mostly been "better to merge and fix later, unless anyone shouts"
<@gotmax23:fedora.im>
16:16:19
https://pagure.io/fesco/issue/3177 is for JS
<@conan_kudo:matrix.org>
16:16:54
hmm, we probably need to force the inclusion of a justification document for "hardship"
<@gotmax23:fedora.im>
16:16:55
I'm fine with doing formal +1 comments like FESCo does, but I don't think that' the FPC's current procedure?
<@conan_kudo:matrix.org>
16:17:04
otherwise it's going to be "I dun wanna" and that's not good enough
<@conan_kudo:matrix.org>
16:17:41
especially now that it screws with core applications to the fedora distribution
<@gotmax23:fedora.im>
16:17:41
The goal of this PR was not to change any existing Guidelines but to clarify what had already been agreed on and just not entered into the text in a clear way
<@decathorpe:fedora.im>
16:18:11
so you're saying that we need to revisit this at the FESCo level? ;)
<@conan_kudo:matrix.org>
16:18:12
sure, but it's equally valid for us to reconsider the nature and validity now that the circumstances have changed
<@gotmax23:fedora.im>
16:18:15
I guess the requirement about including an explicit comment about what's the "hardship" is supposed to help here
<@conan_kudo:matrix.org>
16:18:55
hardships need to be justifiable
<@salimma:fedora.im>
16:19:05
seems reasonable, yeah
<@conan_kudo:matrix.org>
16:19:16
otherwise we're going to get more functionally unfixable packages
<@salimma:fedora.im>
16:19:21
if you can't explain why you can't self compile you can use it to justify anything
<@conan_kudo:matrix.org>
16:19:25
we've already had this problem twice with cockpit and once with anaconda
<@salimma:fedora.im>
16:19:46
heh, doubly so for critpath packages like this
<@gotmax23:fedora.im>
16:20:00
I'm fine with discussing making things stricter again, but 1) that should be separate from this PR and 2) NodeJS packaging in Fedora is terrible and we should make sure the stricter Guidelines are actually practical first
<@gotmax23:fedora.im>
16:21:00
Making a distinction for critpath packages seems too fragile to me because that list is always changing
<@salimma:fedora.im>
16:21:33
so... should we file to revisit this and then just accept the PRs for now?
<@conan_kudo:matrix.org>
16:21:47
that's why I'm saying circumstances have changed that make pregenerated JS+CSS less tenable overall
<@salimma:fedora.im>
16:21:47
it's some of the same people involved anyway
<@conan_kudo:matrix.org>
16:22:34
critpath packages merely expose the problem with more regularity
<@decathorpe:fedora.im>
16:22:56
accepting a clarification to fix the current guidelines is fine with me, but I agree that this should be revisited
<@carlwgeorge:fedora.im>
16:23:05
i'm +1 to merging this as-is for the current state of things, and also +1 to revisiting if/when fesco changes the policy
<@conan_kudo:matrix.org>
16:23:26
keep in mind that ordinarily fesco will just kick it back to us 😅
<@decathorpe:fedora.im>
16:24:06
I wonder whether we should treat pre-minified JS / CSS functionally the same as binary blobs - both are not "patchable"
<@conan_kudo:matrix.org>
16:24:28
if we do that, the ban on such blobs would kick in
<@conan_kudo:matrix.org>
16:24:37
which puts us back to this conversation again
<@decathorpe:fedora.im>
16:24:51
I see you see where I'm going with this ;)
<@conan_kudo:matrix.org>
16:24:55
:D
<@conan_kudo:matrix.org>
16:25:31
but if there's going to be the insistence that apps are written with web technologies, we are probably going ot have to assert that the same packaging flexibility _must_ exist for such apps
<@conan_kudo:matrix.org>
16:25:50
right now, they don't if they do pre-minified sources like cockpit framework apps do
<@conan_kudo:matrix.org>
16:26:29
basically, we can merge this PR, but I think we will wind up changing all the SHOULDs to MUSTs
<@conan_kudo:matrix.org>
16:26:41
basically, we can merge this PR, but I think we will wind up changing all the SHOULDs to MUSTs shortly afterward
<@salimma:fedora.im>
16:26:51
web technology is a mistake
<@gotmax23:fedora.im>
16:27:08
Does someone want to file a ticket to discuss further? It probably should go to the mailing list.
<@conan_kudo:matrix.org>
16:27:11
well, not necessarily, but the mistake was accepting that web code is different from local code
<@conan_kudo:matrix.org>
16:27:22
which is not true
<@gotmax23:fedora.im>
16:27:28
And not sure if we can decide to unchange this rule or if FESCo has to do that
<@conan_kudo:matrix.org>
16:27:46
packaging rules are fully delegated from fesco to us
<@conan_kudo:matrix.org>
16:27:57
fesco can override us selectively, but they generally won't
<@gotmax23:fedora.im>
16:28:09
Right, but FESCo made this decision for us here for reasons that are not entirely clear to me
<@gotmax23:fedora.im>
16:29:46
Again, I do think someone needs to work on improving the NodeJS packaging ecosystem in Fedora before making guidelines stricter. The current approach requires manually dealing with massive npm vendor tarballs to rebuild assets and those tarballs themselves can also include binary blobs.
<@gotmax23:fedora.im>
16:29:57
So I don't think that approach is much better
<@james:fedora.im>
16:30:10
Trying to move this forward ... does someone want to file a ticket somewhere?
<@james:fedora.im>
16:30:27
Conan Kudo 😌: Not to volunteer you, but...
<@conan_kudo:matrix.org>
16:30:51
blech fine
<@conan_kudo:matrix.org>
16:30:54
I'll do it
<@zodbot:fedora.im>
16:31:06
gotmax23 gave a cookie to ngompa. They now have 207 cookies, 3 of which were obtained in the Fedora 44 release cycle
<@gotmax23:fedora.im>
16:31:12
Do you want to merge the PR in the meantime or wait?
<@james:fedora.im>
16:31:35
I think it's fine to wait, if we have a ticket to point to in the PR
<@james:fedora.im>
16:31:56
!topic FPC PR 1540 - https://forge.fedoraproject.org/packaging/guidelines/pulls/1540
<@tibbs:fedora.im>
16:31:58
I'm always of the opinion that the guidelines should reflect reality and policy, even if we want that to change. But maybe if it's going to change soon, the churn isn't worth it.
<@james:fedora.im>
16:32:04
I think this one will be easier ;)
<@tibbs:fedora.im>
16:32:18
+1
<@gotmax23:fedora.im>
16:32:20
🚢 it
<@james:fedora.im>
16:33:35
!topic FPC PR 1541 - https://forge.fedoraproject.org/packaging/guidelines/pulls/1541
<@james:fedora.im>
16:33:40
Dito. this one.
<@tibbs:fedora.im>
16:34:13
The history here is such a mess.
<@tibbs:fedora.im>
16:34:30
But yes, +1.
<@conan_kudo:matrix.org>
16:34:45
is there an rpm document to point to about how these work yet?
<@james:fedora.im>
16:34:57
Yeh, rpm macro hacks are slowly evolving into a language.
<@conan_kudo:matrix.org>
16:34:58
otherwise sure +1
<@gotmax23:fedora.im>
16:35:11
https://rpm.org/docs/latest/man/rpm-macros.7#Macro_manipulation
<@gotmax23:fedora.im>
16:35:23
+1 here also
<@james:fedora.im>
16:35:31
I follow the rpm mailing list enough to have seen Panu post that there's no reason for our preference, anymore.
<@james:fedora.im>
16:36:10
Okay ... what was the 4th thing gotmax23 ?
<@gotmax23:fedora.im>
16:36:24
https://forge.fedoraproject.org/packaging/guidelines/issues/1538
<@conan_kudo:matrix.org>
16:37:01
oh dearie
<@tibbs:fedora.im>
16:37:39
In general I don't think groups need to ask us to add triggers.
<@conan_kudo:matrix.org>
16:37:50
yeah, especially if the paths are self-contained and owned
<@conan_kudo:matrix.org>
16:38:00
it's only if there needs to be a policy to document that it is necessary
<@conan_kudo:matrix.org>
16:38:05
and I think that's the _actual_ implication here
<@decathorpe:fedora.im>
16:38:09
no ... though I am wary of adding anything that changes /usr at runtime depending on what packages are installed
<@conan_kudo:matrix.org>
16:38:17
openstack CLI plugins need to be packaged a specific way for his trigger
<@gotmax23:fedora.im>
16:38:39
Yeah, that part I'm not a fan of
<@conan_kudo:matrix.org>
16:38:51
and yes, I think we probably need to ban such practices
<@gotmax23:fedora.im>
16:38:58
And also this doesn't work in containers (such as toolbox), since it relies on systemd to generate the completions
<@james:fedora.im>
16:39:07
This seems like a lot of trigger scripts for bash completion.
<@tibbs:fedora.im>
16:39:36
As a meta-thing, I do think that in general this kind of "trigger just tickles a unit file to run" thing is something that should be promoted.
<@gotmax23:fedora.im>
16:39:44
Background: I thought was really wacky/potentially problematic and was worth discussing here so I suggested to the maintainer to file this
<@conan_kudo:matrix.org>
16:39:48
ehhhhhhh
<@conan_kudo:matrix.org>
16:40:02
ehhh, it's less good than you'd think
<@decathorpe:fedora.im>
16:40:09
yeah it's a really strange upstream setup IMO
<@conan_kudo:matrix.org>
16:40:16
I have tried this pattern a few times with Fedora Asahi Remix and it's really hard to get right
<@gotmax23:fedora.im>
16:40:54
I really don't like the creating arbitrary files in /usr/share just to trigger a filetrigger that triggers a systemd service part of this
<@conan_kudo:matrix.org>
16:41:10
I would say leave the systemd unit out
<@conan_kudo:matrix.org>
16:41:16
instead have a libexec program to run
<@james:fedora.im>
16:41:32
I think it's better if there's a small number of those unit files that are audited by a lot of experienced people. Much less good if lots of random packages create unit files to do it.
<@gotmax23:fedora.im>
16:41:33
I think the idea was that they wanted to run this as an unprived user. But I guess that can be done without systemd.
<@conan_kudo:matrix.org>
16:41:36
it makes it way more stable and reliable
<@gotmax23:fedora.im>
16:42:42
I did work on the shell completions stuff a while ago and generally make an effort to ship them in packages, but this all just seems like too much to me
<@tibbs:fedora.im>
16:42:56
As an admin, hunting through rpm -q --scripts output to see how things work and how I can trigger those things manually is kind of a pain, so standardization is good.
<@tibbs:fedora.im>
16:43:10
Whether that's unit files or something else, I suppose, doesn't much matter.
<@gotmax23:fedora.im>
16:44:00
Do filetriggers from other packages that apply to another package even show up in `rpm -q --scripts`?
<@carlwgeorge:fedora.im>
16:44:34
iirc, triggers are a separate flag from scripts
<@james:fedora.im>
16:44:35
I don't see why the bash completion can't pretend all the plugins are installed. Or even have some std. way for the plugins to expand the bash completion by dropping files somewhere.
<@carlwgeorge:fedora.im>
16:45:00
yup, `--filetriggers`
<@james:fedora.im>
16:45:09
Running programs to build the completion seems like the wrong approach.
<@gotmax23:fedora.im>
16:45:28
It's all done through Python entrypoints, so the CLI code has to be executed with all the plugins installed to generate the completions
<@conan_kudo:matrix.org>
16:45:30
no, you need to query `rpm -q --triggers`
<@carlwgeorge:fedora.im>
16:46:02
but to answer the question, the triggers show up in the package that owns them, not the package triggering them
<@decathorpe:fedora.im>
16:46:05
well it's ~possible~ to generate completions dynamically ... it might just be *slow* :)
<@gotmax23:fedora.im>
16:47:10
I think argcomplete works like that, but it seems this uses some other Python CLI framework I've never heard off and has to pre-generate the completions file with all the options
<@gotmax23:fedora.im>
16:49:23
Anyway, I think this solution is really ugly, but I can't think of anything better because of how openstack's CLI and plugins are architected. So does anyone else feel strongly against this or should we just close the ticket?
<@gotmax23:fedora.im>
16:49:53
Personally, I'd rather just include documentation telling users to run X command to generate completions locally and call it a day
<@carlwgeorge:fedora.im>
16:52:09
i'm having flashbacks to something about using systemd units to avoid the need for scriptlets, in pursuit of making packages work better on atomic spins. my memory is failing me, does anyone else remember this? i wonder if there is a way to align these approaches.
<@decathorpe:fedora.im>
16:52:30
man-db I think?
<@carlwgeorge:fedora.im>
16:52:38
this is using _both_, so 🤷
<@james:fedora.im>
16:54:33
Yeh, rpmostree etc. didn't used to run any scriptlets (not sure about current state).
<@decathorpe:fedora.im>
16:55:07
I think that was fixed (to some degree ...)
<@james:fedora.im>
16:55:19
So units etc. were a better approach ... but as you said, this uses both.
<@james:fedora.im>
16:55:36
On the upside I guess it means the rpm transaction doesn't have to wait?
<@gotmax23:fedora.im>
16:55:38
This uses a filetrigger to run a systemd unit which I think is also how man-db works
<@carlwgeorge:fedora.im>
16:55:41
i'm sure this will all come back to me about 10 minutes after the meeting is over
<@gotmax23:fedora.im>
16:56:21
But the filetrigger here requires that all openstack plugins create some arbitrary file in /usr/share to activate it
<@carlwgeorge:fedora.im>
16:57:16
yeah the arbitrary file part is weird, and a divergence from the man-db approach
<@carlwgeorge:fedora.im>
16:58:54
i guess the architecture of openstackclient prevents this, as i don't see a common plugin directory
<@gotmax23:fedora.im>
16:59:36
yeah, it's all based on Python entry points
<@carlwgeorge:fedora.im>
17:00:44
seeing as we're out of time, are we gonna put a pin in this and discuss again next week?
<@james:fedora.im>
17:01:02
We are at time ... yeh, we could come back to it in two weeks.
<@carlwgeorge:fedora.im>
17:01:17
seeing as we're out of time, are we gonna put a pin in this and discuss again next ~~week~~ meeting?
<@james:fedora.im>
17:01:41
Or people could ask questions in the ticket too, I guess ;?
<@james:fedora.im>
17:02:17
The great thing about the markdown std. is that there are so many to choose from ;)
<@james:fedora.im>
17:02:28
Okay, see you all next meeting.
<@james:fedora.im>
17:02:36
!endmeeting