fpc
LOGS
<@james:fedora.im>
16:00:43
!startmeeting fpc
<@meetbot:fedora.im>
16:00:44
Meeting started at 2026-06-25 16:00:43 UTC
<@meetbot:fedora.im>
16:00:44
The Meeting name is 'fpc'
<@james:fedora.im>
16:00:46
!topic Roll Call
<@decathorpe:fedora.im>
16:00:51
!hi
<@tibbs:fedora.im>
16:00:52
Hello.
<@salimma:fedora.im>
16:00:54
!hi
<@zodbot:fedora.im>
16:00:54
Fabio Valentini 🌈: Fabio Valentini (decathorpe) - he / him / his
<@zodbot:fedora.im>
16:00:55
Michel Lind ☘ UTC+1 ⏱️: Michel Lind (salimma) - he / him / his
<@gotmax23:fedora.im>
16:01:12
!hi
<@zodbot:fedora.im>
16:01:12
gotmax23: Maxwell G (gotmax23) - he / him / his or they / them / theirs
<@mschorm:fedora.im>
16:01:25
!hi
<@zodbot:fedora.im>
16:01:28
Michal Schorm: None (mschorm)
<@james:fedora.im>
16:01:37
Hey
<@salimma:fedora.im>
16:01:53
[@mschorm:fedora.im](https://matrix.to/#/@mschorm:fedora.im) that's a brave name to have - None πŸ˜…
<@salimma:fedora.im>
16:02:21
Reminds me of the guy with the NULL license plate in California
<@decathorpe:fedora.im>
16:02:41
IRL little bobby tables
<@mschorm:fedora.im>
16:04:04
IDK, I should have "displayed name" set to my full name. Any idea where to change this "None"?
<@james:fedora.im>
16:04:14
Hopefully costs Michal a lot less ;)
<@gotmax23:fedora.im>
16:04:38
https://accounts.fedoraproject.org/user/mschorm/
<@james:fedora.im>
16:04:42
Pretty sure this is reading FAS data, so go there.
<@carlwgeorge:fedora.im>
16:05:46
!hi
<@decathorpe:fedora.im>
16:05:47
there's also a privacy toggle that might prevent usage of the data set there.
<@zodbot:fedora.im>
16:05:50
Carl George: Carl George (carlwgeorge) - he / him / his
<@james:fedora.im>
16:07:26
!topic FPC#1551 https://forge.fedoraproject.org/packaging/guidelines/issues/1551
<@james:fedora.im>
16:07:39
Michal Schorm: I guess this is what you are here for? ;)
<@mschorm:fedora.im>
16:07:56
yup
<@mschorm:fedora.im>
16:08:23
In the spirit of a similar request for MariaDB few months ago
<@carlwgeorge:fedora.im>
16:08:36
versioned packages have an automatic exception
<@decathorpe:fedora.im>
16:09:00
yeah that should be fine, just request the package with `--exception` instead of a bug number
<@decathorpe:fedora.im>
16:09:19
but if you want to have it in writing, +1 :)
<@carlwgeorge:fedora.im>
16:09:28
this is documented somewhere, trying to find it...
<@mschorm:fedora.im>
16:09:40
Doesn't the `--exception` need accepted FPC ticket ?
<@decathorpe:fedora.im>
16:09:56
https://docs.fedoraproject.org/en-US/packaging-guidelines/ReviewGuidelines/#_package_review_exceptions
<@gotmax23:fedora.im>
16:10:07
Not if there's already an approved exception
<@gotmax23:fedora.im>
16:10:28
<@gotmax23:fedora.im>
16:10:28
But I think the wording was problematic here?
<@gotmax23:fedora.im>
16:10:28
> The package is being created so that multiple versions of the same package can coexist in the distribution (or coexist between EPEL and RHEL). The package MUST be properly named according to the naming guidelines and ***MUST NOT conflict with all other versions of the same package***.
<@decathorpe:fedora.im>
16:10:55
hm ... πŸ€”
<@decathorpe:fedora.im>
16:11:07
good point
<@gotmax23:fedora.im>
16:12:45
Should we remove that last part from the guidelines? Or grant a special exception here? Or something else?
<@salimma:fedora.im>
16:13:28
for packages like Django and Python I think we use the normal review process instead of the exception
<@james:fedora.im>
16:13:35
I'm confused about the reason for that part.
<@carlwgeorge:fedora.im>
16:13:52
git blame is not telling me anything useful about that last clause, it's been there since it was converted from the wiki
<@gotmax23:fedora.im>
16:14:30
yeah, I've kinda given up trying to git blame things in the guidelines for that reason
<@gotmax23:fedora.im>
16:15:00
I would probably be in favor of changing the text here
<@james:fedora.im>
16:15:26
My _guess_ is that it's trying to avoid problems like: X requires Y; user installs Y6.6; user installs X and it fails?
<@carlwgeorge:fedora.im>
16:15:30
i'm fine just dropping it. the general guidelines already cover conflicts (should avoid if possible)
<@salimma:fedora.im>
16:16:26
yeah I'm guessing it's "if it does funny things it needs full review"
<@salimma:fedora.im>
16:16:38
too bad wiki history is harder to search
<@james:fedora.im>
16:16:52
I can see how it'd be bad to conflict with a heavily required package, but at the same time I don't think many people want to run two versions of mysql.
<@gotmax23:fedora.im>
16:17:44
Well, it has to be a different version of the same package
<@james:fedora.im>
16:17:45
Michal Schorm: Either way, your review is excepted ;)
<@gotmax23:fedora.im>
16:18:46
https://forge.fedoraproject.org/packaging/guidelines/pulls/1552
<@james:fedora.im>
16:18:47
If nobody else wants to tweak the wording, I'm fine just dropping it and waiting to see what blows up as a result ;)
<@zodbot:fedora.im>
16:19:26
carlwgeorge has already given cookies to gotmax23 during the F44 timeframe
<@tibbs:fedora.im>
16:19:42
I do recall that we added this just to avoid weird issues.
<@tibbs:fedora.im>
16:20:08
Plus a general dislike of conflicts.
<@tibbs:fedora.im>
16:20:24
(Something that's since been lost, I guess.)
<@gotmax23:fedora.im>
16:20:59
In many cases, it's unavoidable without patching upstream software
<@gotmax23:fedora.im>
16:21:36
if you want to have multiple versions packaged
<@carlwgeorge:fedora.im>
16:23:31
even on compat libraries where the main package can be parallel, the devel subpackage usually has to conflict
<@salimma:fedora.im>
16:23:45
yeah
<@salimma:fedora.im>
16:24:03
devel not conflicting is possible but it is a hard ask (and might require patching all the dependents, not fun)
<@james:fedora.im>
16:24:10
Yeh, there are a couple of exceptions like GCC ... but in general it's probably not great.
<@james:fedora.im>
16:24:34
At the time we wrote it we likley had very few versioned packages.
<@gotmax23:fedora.im>
16:25:12
Do we want to discuss distro conditionals or NodeJS (again)?
<@decathorpe:fedora.im>
16:25:52
"want"? probably not? :)
<@gotmax23:fedora.im>
16:26:21
I really need to stop asking you questions that start with "want" ;)
<@decathorpe:fedora.im>
16:27:31
as to nodejs - I think it makes sense to require stripping executables and package applications needed to build things from source in separate RPMs
<@james:fedora.im>
16:27:35
FWIW There have been 9 new issues opened since our last meeting ... including the above mysql one.
<@decathorpe:fedora.im>
16:28:12
(kind of obviously, since that is outlined in other parts of the guidelines ... but apparently this hasn't been applied consistently to nodejs packages?)
<@james:fedora.im>
16:28:23
FWIW There have been 7 new issues opened since our last meeting ... including the above mysql one.
<@gotmax23:fedora.im>
16:29:20
yeah, the tooling doesn't enforce it though, so I guess people thought it was okay/didn't realize
<@gotmax23:fedora.im>
16:29:47
I'm not sure if this is better or worse than just shipping pre-built JS blobs and not trying to build anything at all...
<@decathorpe:fedora.im>
16:30:39
I wonder how this even worked. are pre-built executables included for all architectures? or are those packages only built for x86_64?
<@gotmax23:fedora.im>
16:30:46
I do think removing that exception probably makes sense for SPAs like Cockpit where the JS is a significant part of the package functionality, but this is probably not as important for copies of jquery in sphinx docs...
<@gotmax23:fedora.im>
16:31:13
yes, they are built for multiple arches and uploaded to npm as separate packages I think 🀷
<@gotmax23:fedora.im>
16:31:21
apparently this is a common practice
<@decathorpe:fedora.im>
16:31:50
oh ew
<@decathorpe:fedora.im>
16:32:02
well I'm all for not allowing that then πŸ˜‚
<@gotmax23:fedora.im>
16:32:07
https://www.npmjs.com/search?q=esbuild%2Flinux-
<@gotmax23:fedora.im>
16:32:30
esbuild is at least packaged as a separate package now in Fedora
<@gotmax23:fedora.im>
16:32:47
which I'm not even sure is technically allowed by the Guidelines that require bundling nodejs
<@gotmax23:fedora.im>
16:33:07
and people want to package nodejs stuff, and there's no clear way to do it properly, and it's frustrating
<@decathorpe:fedora.im>
16:33:24
absolutely :(
<@gotmax23:fedora.im>
16:33:35
and now FESCo has a list of packages that don't follow this rule, and I'm not sure what to do about them
<@james:fedora.im>
16:34:06
I guess the only viable options are: 1) Shrug and give up. 2) Get the ban hammer out ;)
<@gotmax23:fedora.im>
16:34:21
another common build tool I think is https://github.com/rollup/rollup which now has rust components
<@salimma:fedora.im>
16:34:23
3) deprecate
<@salimma:fedora.im>
16:34:31
and do a Change Proposal to clean up
<@decathorpe:fedora.im>
16:34:49
2.5: fix guidelines and tooling and banhammer for anything that doesn't get fixed?
<@james:fedora.im>
16:34:59
I think I've found the glaring problem with option 3.
<@salimma:fedora.im>
16:35:50
banhammer given enough time is fine, yeah
<@salimma:fedora.im>
16:35:56
but we need to figure out some realistic guidelines
<@gotmax23:fedora.im>
16:35:57
The NodeJS maintainers did acknowledge the problem and express willingness to fix things/accept contributions to the tooling on the devel thread
<@gotmax23:fedora.im>
16:36:09
but someone needs to find time to work on it...
<@james:fedora.im>
16:36:11
Yeh, this is mostly what I meant (what do you mean I can't just ban JS packages ;).
<@gotmax23:fedora.im>
16:36:17
and the npm ecosystem isn't doing us any favors here
<@salimma:fedora.im>
16:36:19
not if we want an installer
<@gotmax23:fedora.im>
16:36:28
that's true...
<@salimma:fedora.im>
16:36:40
if only I have more spare time I want to know how guix handles it
<@gotmax23:fedora.im>
16:36:51
or Debian?
<@salimma:fedora.im>
16:36:55
I remember they have a ranty talk about how bad some packaging ecosystems are
<@salimma:fedora.im>
16:37:07
yeah but guix iirc has consistent tooling for generating packages in different language ecosystems
<@salimma:fedora.im>
16:37:14
Debian... trust me, they don't :)
<@salimma:fedora.im>
16:37:29
but both are good to study nonetheless, true
<@gotmax23:fedora.im>
16:37:58
I just meant Debian generally has a stricter stance on bundling
<@james:fedora.im>
16:38:00
Neal Gompa (Fedora): Might know.
<@james:fedora.im>
16:38:21
But not here this meeting.
<@gotmax23:fedora.im>
16:38:26
Like looking at Arch that builds everything with internet access enabled is probably not going to be very enlightening on how to solve our problem
<@gotmax23:fedora.im>
16:39:05
Anyways, I guess we can keep this on our radar and hope something improves
<@gotmax23:fedora.im>
16:39:33
Not sure what to do about the FESCo ticket. Retiring those packages if nothing gets fixed doesn't feel productive
<@gotmax23:fedora.im>
16:39:59
But we don't really have much else
<@decathorpe:fedora.im>
16:40:13
having a flag date might help
<@gotmax23:fedora.im>
16:40:49
yeah but then we have to do something when we get to the flag date 😱
<@decathorpe:fedora.im>
16:41:28
🀫 that's the idea
<@salimma:fedora.im>
16:41:29
flag date driven development
<@gotmax23:fedora.im>
16:41:37
FDDD
<@gotmax23:fedora.im>
16:43:51
Shall we move on?
<@salimma:fedora.im>
16:43:57
moveon.org
<@james:fedora.im>
16:44:47
Sure
<@james:fedora.im>
16:45:11
!topic FPC#1546 https://forge.fedoraproject.org/packaging/guidelines/issues/1546
<@gotmax23:fedora.im>
16:46:08
So I don't want to allowlist certain distro macros, but I also don't want Fedora to get flooded with PRs to add separate conditionals for every single downstream
<@gotmax23:fedora.im>
16:46:29
I know that Azure linux has a tool to automatically set existing bconds/make other small changes
<@tibbs:fedora.im>
16:46:47
The original intent of this was to avoid having macros for suse and other RPM-based distros in Fedora packages.
<@salimma:fedora.im>
16:46:47
is Conan Kudo 😌around? he is one of the few that maintain multi-distro specs
<@conan_kudo:matrix.org>
16:46:57
!hi
<@gotmax23:fedora.im>
16:46:58
So even if %azurelinux or whatever isn't in the test bcond definition there, having the bcond at all is helpful
<@zodbot:fedora.im>
16:47:02
Conan Kudo 😌: Neal Gompa (ngompa) - he / him / his
<@james:fedora.im>
16:47:06
I know when this comes up Jason ティビツ is usually the one who wants some wording so people don't try to do specfiles that can run on 666 different distros.
<@gotmax23:fedora.im>
16:47:07
So even if %azurelinux or whatever isn't in the test bcond definition in Fedora, having the bcond at all is helpful
<@tibbs:fedora.im>
16:47:09
Because Fedora maintainers can't be expected to understand or test packages for those distributions.
<@salimma:fedora.im>
16:47:26
if we have a preprocessor that can strip out the non-fedora parts it would be nice
<@conan_kudo:matrix.org>
16:47:34
already Fedora maintainers don't even test for the distributions we do offer builds
<@salimma:fedora.im>
16:47:38
then as long as the spec is still valid we don't have to care about those
<@conan_kudo:matrix.org>
16:47:48
like if there are RHEL conditions, most Fedora maintainers in fact ignore them
<@gotmax23:fedora.im>
16:47:49
Yeah, I don't want to allow conditionals for RPM distributions with completely different guidelines or macro systems
<@salimma:fedora.im>
16:47:52
wait, what do you mean here?
<@conan_kudo:matrix.org>
16:47:57
yes
<@salimma:fedora.im>
16:48:00
we at least make sure it builds, no
<@conan_kudo:matrix.org>
16:48:07
nobody has to do that
<@tibbs:fedora.im>
16:48:11
The only real issue is that maintainability just goes out the window if you have to account for and comprehend so many distributions just to fix a bug in a packages.
<@conan_kudo:matrix.org>
16:48:47
I encounter packages in Fedora where the package is broken on RHEL with the Fedora SRPM/spec
<@conan_kudo:matrix.org>
16:48:55
because it does bad things like conditionalizing patch lines
<@gotmax23:fedora.im>
16:49:07
Or conditionalizing `Name:`
<@gotmax23:fedora.im>
16:49:13
We should really make that not allowed...
<@conan_kudo:matrix.org>
16:49:18
yes I'm looking at you freeipa
<@gotmax23:fedora.im>
16:49:28
and linux-system-roles
<@gotmax23:fedora.im>
16:49:33
and I think there's more
<@salimma:fedora.im>
16:49:42
conditionalizing patch application, sure, but patch naming, heck yeah that should probably be banned outright
<@conan_kudo:matrix.org>
16:49:45
there are many tortured packages in fedora that are either half broken or insane to review because of RHEL
<@salimma:fedora.im>
16:49:48
it just bites you later
<@conan_kudo:matrix.org>
16:50:08
so I don't really buy any legibility or testability argument because people don't do it _now_
<@conan_kudo:matrix.org>
16:50:15
with the restrictions we have currently
<@conan_kudo:matrix.org>
16:50:40
I'm much more in favor of throwing out the distro conditional block and explicitly outlining where and how distro conditionals are permitted to be used
<@conan_kudo:matrix.org>
16:51:09
because frankly policing which dist macro is allowed or not is just a rabbithole of crazy
<@carlwgeorge:fedora.im>
16:51:13
fyi, there are 95 rawhide spec files that reference suse_version
<@gotmax23:fedora.im>
16:51:26
yeah, I do think that creates a legibility issue
<@gotmax23:fedora.im>
16:51:37
suse is not derived from Fedora at all
<@salimma:fedora.im>
16:51:40
so ban it completely? well if even Neal is in favor...
<@gotmax23:fedora.im>
16:51:50
technically, it is currently banned
<@salimma:fedora.im>
16:51:51
the suse thing is probably maintainers who also use OBS
<@conan_kudo:matrix.org>
16:51:52
like the toolchain packages have SCL macroization _just for RHEL_
<@salimma:fedora.im>
16:51:59
so they like having One Spec to Build Them ALl
<@conan_kudo:matrix.org>
16:52:01
and that makes it completely miserable to look at
<@conan_kudo:matrix.org>
16:52:08
copr too
<@gotmax23:fedora.im>
16:52:15
I would be open to encouraging separate ELN branches for this kind of thing
<@carlwgeorge:fedora.im>
16:52:20
i brought this up a few weeks/months ago that reality doesn't match the policy, and it's hard to align them without an enforcement mechanism
<@conan_kudo:matrix.org>
16:52:35
the kernel spec is a special brand of crazy because it uses fedora conditionals because fedora is not the default case
<@conan_kudo:matrix.org>
16:52:55
when it changed to ark, fedora stopped being the default for the kernel package
<@gotmax23:fedora.im>
16:53:00
But some RHEL maintainers in Fedora really insist on keeping ancient things (or just blocks of code not applicable to Fedora) in Fedora packages
<@conan_kudo:matrix.org>
16:53:03
that should have never been permitted
<@gotmax23:fedora.im>
16:53:07
And it makes it really difficult for anyone else to work with
<@conan_kudo:matrix.org>
16:53:29
this is why I think the right approach is restricting what distro conditionals can be used for
<@conan_kudo:matrix.org>
16:54:06
and as someone who does multi-distro work, it's a lot rarer than you'd think to have to do any more than just wrapping BR lists
<@carlwgeorge:fedora.im>
16:54:28
so, status quo as far as the policy? "only macros and conditionals for Fedora and EPEL" covers fedora/rhel/epel
<@conan_kudo:matrix.org>
16:54:38
well no
<@conan_kudo:matrix.org>
16:54:46
if it's for rhel but not epel, then it's out of policy
<@james:fedora.im>
16:54:53
I would say that also covers centos at this point.
<@conan_kudo:matrix.org>
16:54:56
ie rhel core packages aren't supposed to have it
<@conan_kudo:matrix.org>
16:55:12
that's the strict reading
<@conan_kudo:matrix.org>
16:55:20
ie rhel core packages in fedora aren't supposed to have it
<@conan_kudo:matrix.org>
16:55:24
obviously we don't want to do that
<@conan_kudo:matrix.org>
16:55:29
but that's the strict reading
<@gotmax23:fedora.im>
16:55:41
Well, I don't like these complicated RHEL conditionals, but I'm also don't want to have long bcond conditionals that explicitly disables test for every single downstream and is 200 characters long
<@gotmax23:fedora.im>
16:55:55
I think %rhel is covered for packages in EPEL and in ELN
<@gotmax23:fedora.im>
16:56:04
Well, I don't like these complicated RHEL conditionals, but I also don't want to have long bcond conditionals that explicitly disables test for every single downstream and is 200 characters long
<@carlwgeorge:fedora.im>
16:56:17
i mean, that can just be an else condition for `%{defined rhel} && %{defined epel}`, no real burden there
<@conan_kudo:matrix.org>
16:58:01
again, my belief is that smithing for specific distro macros is just a crappy idea
<@conan_kudo:matrix.org>
16:58:27
I'm happy to propose a rule that provides multi-distro guidance
<@salimma:fedora.im>
16:58:32
I tend to do the conditionals based on the underlying issues if possible
<@conan_kudo:matrix.org>
16:58:33
I'm happy to propose a doc that provides multi-distro guidance
<@salimma:fedora.im>
16:58:34
like the Python version
<@salimma:fedora.im>
16:58:45
otherwise there's too much craziness to guess which distro has which
<@conan_kudo:matrix.org>
16:59:02
I wrote one many years ago for $dayjob internal work and I could write a new one for Fedora
<@carlwgeorge:fedora.im>
16:59:32
yes please, i can review and give feedback. lots of ideas for best practices rolling around in my head.
<@zodbot:fedora.im>
16:59:40
salimma gave a cookie to ngompa. They now have 210 cookies, 6 of which were obtained in the Fedora 44 release cycle
<@james:fedora.im>
16:59:53
I think if you did a PR that changed it from talking about specific macros to just "things which have the same guidelines root" ... that might work?
<@conan_kudo:matrix.org>
17:00:10
sure
<@conan_kudo:matrix.org>
17:00:21
fun fact, that covers almost all rpm distros :P
<@conan_kudo:matrix.org>
17:00:36
SUSE reforked Fedora's packaging guidelines twice and realigned their packaging to be similar to ours years ago
<@carlwgeorge:fedora.im>
17:00:45
i think removing the legibility guidance we have now won't affect things materially one way or the other, since this rule is already widely ignored
<@conan_kudo:matrix.org>
17:00:53
yes
<@james:fedora.im>
17:00:57
Huh, I did not know that.
<@carlwgeorge:fedora.im>
17:01:10
i do think we need to remove suse_version usage, as that isn't a downstream or related at all
<@conan_kudo:matrix.org>
17:01:18
I think the only RPM distros I know of that isn't rooted in Fedora packaging is ALT and PLD
<@james:fedora.im>
17:01:24
To be fair that does make me a lot more open to allowing suse macros, either way.
<@conan_kudo:matrix.org>
17:01:32
they are Mandrake descendents that went their own way
<@conan_kudo:matrix.org>
17:02:10
yes, I actually helped implement some of it the second time
<@conan_kudo:matrix.org>
17:02:32
I've also brought things from SUSE to Fedora too in that process
<@conan_kudo:matrix.org>
17:03:04
the interface for the cmake macros came from openSUSE, even if the implementation is very different
<@conan_kudo:matrix.org>
17:03:21
and I'm working with the openSUSE guys to replace their implementation with ours
<@conan_kudo:matrix.org>
17:03:26
since ours are better :P
<@james:fedora.im>
17:03:59
Having a distributed FS for `/usr` has seemed like a viable idea to me a few times ;)
<@conan_kudo:matrix.org>
17:04:00
but anyway, I'll work on a write up as a pull request
<@zodbot:fedora.im>
17:04:09
gotmax23 has already given cookies to ngompa during the F44 timeframe
<@zodbot:fedora.im>
17:04:12
james gave a cookie to ngompa. They now have 211 cookies, 7 of which were obtained in the Fedora 44 release cycle
<@carlwgeorge:fedora.im>
17:04:20
let us know when you get suse to switch to dnf πŸ˜›
<@zodbot:fedora.im>
17:04:26
carlwgeorge gave a cookie to ngompa. They now have 212 cookies, 8 of which were obtained in the Fedora 44 release cycle
<@conan_kudo:matrix.org>
17:04:37
oh man, you should see my talk tomorrow on livestream at oSC
<@james:fedora.im>
17:04:39
Cool, we are at time ... so unless anyone has anything else that needs to be talked about very quickly then we should end.
<@conan_kudo:matrix.org>
17:05:03
https://events.opensuse.org/conferences/oSC26/program/proposals/5143
<@conan_kudo:matrix.org>
17:06:04
the talk earlier today (https://events.opensuse.org/conferences/oSC26/program/proposals/5142) by SFaulken already announced Kalpa Desktop is switching to DNF5
<@james:fedora.im>
17:06:09
Are "transactional systems" like ostree?
<@salimma:fedora.im>
17:06:22
no
<@salimma:fedora.im>
17:06:23
btrfs
<@salimma:fedora.im>
17:06:40
I dream of making a centos hyperscale image with it
<@salimma:fedora.im>
17:06:46
maybe when things are less insane at work
<@salimma:fedora.im>
17:07:16
Conan Kudo 😌we have one year after c9 EOL and before we're busy with c11 :)
<@conan_kudo:matrix.org>
17:07:20
Shawn is interested in helping :)
<@conan_kudo:matrix.org>
17:08:07
he's in the #btrfs:fedoraproject.org room so you can ask him about it :)
<@james:fedora.im>
17:08:24
On that note...
<@james:fedora.im>
17:08:25
!endmeeting