<@james:fedora.im>
17:01:09
!startmeeting fpc
<@meetbot:fedora.im>
17:01:11
Meeting started at 2026-01-22 17:01:09 UTC
<@meetbot:fedora.im>
17:01:11
The Meeting name is 'fpc'
<@james:fedora.im>
17:01:12
!topic Roll Call
<@limb:fedora.im>
17:01:36
!hi
<@zodbot:fedora.im>
17:01:38
Gwyn Ciesla (limb) - she / her / hers
<@tibbs:fedora.im>
17:01:38
Hello.
<@conan_kudo:matrix.org>
17:01:40
!hi
<@zodbot:fedora.im>
17:01:42
Neal Gompa (ngompa) - he / him / his
<@tibbs:fedora.im>
17:01:46
Wasn't sure if we were doing this today.
<@james:fedora.im>
17:01:49
!hi
<@zodbot:fedora.im>
17:01:52
James Antill (james) - he / him / his
<@james:fedora.im>
17:02:35
It was on the calendar, so... ;)
<@tibbs:fedora.im>
17:03:14
I need to find this magic calendar.
<@conan_kudo:matrix.org>
17:03:28
fedocal :)
<@gordonmessmer:fedora.im>
17:03:33
!hi
<@zodbot:fedora.im>
17:03:34
Gordon Messmer (gordonmessmer)
<@james:fedora.im>
17:04:04
https://calendar.fedoraproject.org/packaging/ ;)
<@gordonmessmer:fedora.im>
17:04:15
I don't know if I'm supposed to say hi, not being a committee member, but I thought I'd sit in :)
<@michel-slm:matrix.org>
17:04:23
!hi
<@zodbot:fedora.im>
17:04:26
Michel Lind (salimma) - he / him / his
<@james:fedora.im>
17:04:30
Although I actually have a copy of it in google calendar, because I look at that all the time.
<@michel-slm:matrix.org>
17:05:10
google calendar is nice though I find that as with all the cloud based services, you can't force it to refresh so calendar changes might take an unknown amount of time to propagate
<@michel-slm:matrix.org>
17:05:45
I wish we rely on fedocal more, most of the time canceled meetings are not removed from fedocal :P
<@james:fedora.im>
17:07:02
!topic FPC PR#1518 https://pagure.io/packaging-committee/pull-request/1518
<@decathorpe:fedora.im>
17:07:15
!hi
<@zodbot:fedora.im>
17:07:17
Fabio Valentini (decathorpe) - he / him / his
<@conan_kudo:matrix.org>
17:07:46
I do try with Fedora KDE meetings to keep fedocal up to date in that regard
<@james:fedora.im>
17:08:13
I'm mostly happy to just click merge here ... although it might be nice/useful to mention Silverblue/bootc/whatever.
<@james:fedora.im>
17:08:29
Any other thoughts?
<@limb:fedora.im>
17:08:38
I'm +1.
<@conan_kudo:matrix.org>
17:08:43
nah, I think it's in good shape too
<@tibbs:fedora.im>
17:08:51
+1
<@decathorpe:fedora.im>
17:09:10
I'm happy to make improvements if necessary
<@conan_kudo:matrix.org>
17:09:13
it is frustrating that the user output situation kind of sucks with dnf right now
<@conan_kudo:matrix.org>
17:09:39
it makes me wish we had the urpmi feature to show package update release notes once a transaction is finished
<@decathorpe:fedora.im>
17:09:53
yeah, I'm beginning to think that we need a package manager independent mechanism for communicating stuff to users ...
<@tibbs:fedora.im>
17:11:14
I wish we had a system for communicating issues to users, but we can't assume the command line and mail... is no longer a thing.
<@conan_kudo:matrix.org>
17:11:17
it wouldn't be the worst idea in the world if we had some kind of thing that watched for `README.rpm` files or something and gave you a notification saying there's some new ones you might want to read
<@conan_kudo:matrix.org>
17:11:53
aside from gnome, this would be relatively straightforward to have, I think?
<@tibbs:fedora.im>
17:13:15
It's a tough problem, because systems are used in so many different ways.
<@tibbs:fedora.im>
17:13:53
My users certainly don't care about that kind of thing, because they can't do anything about it. But managed systems aren't the norm these days.
<@james:fedora.im>
17:13:54
My assumption is that rpm/dnf are the wrong levels for this.
<@tibbs:fedora.im>
17:14:08
Yes, but....
<@tibbs:fedora.im>
17:14:43
If there was such a system, and we defined a way for scriptlets to output data in such a way that it would be communicated by that system, then that would be nice.
<@tibbs:fedora.im>
17:15:31
Since that doesn't exist, and any idea that output in scriptlets does anything useful needs to be corrected, this PR is about as good as we can do.
<@limb:fedora.im>
17:16:04
And then get users to read it...
<@conan_kudo:matrix.org>
17:16:06
and also trying to do weird things in scriptlets is harmful
<@conan_kudo:matrix.org>
17:16:34
there are at least a couple of bugs where people try to either swallow or emit output and it breaks because devfs isn't guaranteed in the scriptlet environment
<@james:fedora.im>
17:18:18
I feel like /dev/null should always be there.
<@tibbs:fedora.im>
17:18:44
The thing is, if output in scriptlets is actively harmful, why isn't the script just spawned with all output redirected to dave?
<@james:fedora.im>
17:18:47
But also that scriptlets were a mistake, so ¯\\_(ツ)_/¯
<@james:fedora.im>
17:19:32
But anyway ... I merged the PR ... if people want to say more, then by the sounds of it we'll probably merge that too ;)
<@limb:fedora.im>
17:21:45
^^ there's at least 5 of this as a bug/ticket/issue/story in any tracker of sufficient size.
<@james:fedora.im>
17:22:06
!topic FPC PR#1520 https://pagure.io/packaging-committee/pull-request/1520
<@james:fedora.im>
17:22:17
This also has an issue: https://pagure.io/packaging-committee/issue/1519
<@james:fedora.im>
17:22:36
and Gordon Messmer is here.
<@decathorpe:fedora.im>
17:23:43
I feel like I really don't know enough about how symbols (let alone versioned symbols) work to have much of an opinion here - other than "I wouldn't know what to do or say to add them to my packages"
<@conan_kudo:matrix.org>
17:24:36
I'll probably see if I can squeeze a moment to write up "real buildsystem" examples for the samples Gordon Messmer wrote
<@gordonmessmer:fedora.im>
17:24:38
We can suggest text for bug reports asking upstream projects to add them
<@conan_kudo:matrix.org>
17:25:02
except for autotools, you're on your own for that one
<@james:fedora.im>
17:26:17
From personal (old) experience ... there was kind of a push for this about 15 years ago? Why do you want to push it again?
<@james:fedora.im>
17:26:52
Or to rephrase ... it mostly failed 15 years ago, why won't it fail now and/or why is it more important now?
<@gordonmessmer:fedora.im>
17:27:18
Everyone who uses rpm (except maybe ALT Linux) periodically runs into bug reports where some application breaks because rpm doesn't know enough to update its dependencies.
<@decathorpe:fedora.im>
17:27:34
what about ... C symbols exported from Rust? 🙃
<@conan_kudo:matrix.org>
17:28:06
gonna need to make cargo support version scripts somehow
<@conan_kudo:matrix.org>
17:28:09
or annotations or something
<@gordonmessmer:fedora.im>
17:28:59
Virtually all of the documentation for symbol versioning focuses on the most esoteric capabilities, like redefining the signature of a function without breaking compatibility. But versioned symbols provide a feature that *every* library should use, which is indicating the minimum version of a library within a stable release series.
<@decathorpe:fedora.im>
17:29:01
looks like there's at least discussions about making it possible:
<@decathorpe:fedora.im>
17:29:01
https://internals.rust-lang.org/t/support-symbol-versioning-with-export-name/23626
<@gordonmessmer:fedora.im>
17:29:31
So if we explain *why* it's useful outside of the esoteric cases, I think we'll get more adoption.
<@gordonmessmer:fedora.im>
17:30:15
The expat developer, for example, needed only an explanation of my intent
<@conan_kudo:matrix.org>
17:30:45
Qt does this specifically so it can indicate what are stable and unstable APIs
<@conan_kudo:matrix.org>
17:30:51
so it does come in handy
<@tibbs:fedora.im>
17:30:57
I think this is certainly something we should allow but I'm not sure it's something we should encourage.
<@conan_kudo:matrix.org>
17:31:12
it's either that or we bring in ALT's version sets thing
<@conan_kudo:matrix.org>
17:31:29
which I am not opposed to, but it's not a simple extraction
<@james:fedora.im>
17:32:48
Not sure what this refers to.
<@gordonmessmer:fedora.im>
17:33:17
Jason ティビツ: Please take a look at https://src.fedoraproject.org/rpms/python3.13/c/1b3b52c26453ea6ee7fb228db8b2de3e444b7159?branch=rawhide
<@conan_kudo:matrix.org>
17:33:50
we could also bring back the `%require_ge` macro too
<@gordonmessmer:fedora.im>
17:34:03
Because this is the kind of very ugly solution we force maintainers to roll out to compensate for not somehow detecting a lower boundary for C library versions
<@conan_kudo:matrix.org>
17:34:06
the only reason it was dropped was that previously we couldn't guarantee a functioning rpmdb
<@conan_kudo:matrix.org>
17:34:17
but that's been solved for years now
<@conan_kudo:matrix.org>
17:35:40
we could also bring back the `%requires_ge` macro too
<@conan_kudo:matrix.org>
17:37:35
but I still think we should be encouraging upstreams to version their ABI
<@james:fedora.im>
17:37:48
It might be worth having some option in rpmbuild to always do requires >= for the packages we require from the buildroot ... unless the maintainer explicitly turns it off?
<@conan_kudo:matrix.org>
17:38:05
the problem with that is that makes fungibility really hard
<@james:fedora.im>
17:38:09
Just convince Panu, and they we don't need more docs. and to convince 666 packagers.
<@conan_kudo:matrix.org>
17:38:15
and we rely on that enough that it would be a pain
<@james:fedora.im>
17:38:36
For people who need it ... they can just build again older version, right?
<@conan_kudo:matrix.org>
17:38:41
no
<@conan_kudo:matrix.org>
17:38:48
we know that doesn't work
<@gordonmessmer:fedora.im>
17:38:53
I have several PRs open against rpm that would provide that, in various ways.
<@conan_kudo:matrix.org>
17:38:57
and it's also about alternatives, and forks and all kinds of mess
<@conan_kudo:matrix.org>
17:39:13
I've personally gone back and forth on this, and I really don't think we should be making the default case exposing rpm versions this way
<@gordonmessmer:fedora.im>
17:39:39
symbol versioning is the solution that RPM supports today.
<@conan_kudo:matrix.org>
17:39:56
and Gordon Messmer has unfortunately endured my flip flopping as we've gone back and forth on this in various discussions
<@conan_kudo:matrix.org>
17:40:03
🙏
<@james:fedora.im>
17:40:27
Gordon can just wait for you to flip back, and then do the changes upstream ;)
<@gordonmessmer:fedora.im>
17:40:29
:)
<@james:fedora.im>
17:40:33
ᕕ( ᐛ )ᕗ
<@conan_kudo:matrix.org>
17:41:50
yeah that's probably not happening 😅
<@conan_kudo:matrix.org>
17:42:09
I've now been involved in several fedora changes switching implementations of things, and I would have had massive headaches if we had that
<@conan_kudo:matrix.org>
17:42:40
that's pretty much what changed my opinion
<@gordonmessmer:fedora.im>
17:42:42
It's true that symbol versioning means we have to solve this problem in many libraries, but the status quo means we have to solve this in hundreds of application package specs, so...
<@conan_kudo:matrix.org>
17:42:49
we do this enough that it's a bad idea to make it default
<@james:fedora.im>
17:42:55
But ... I think from the package committee side, I'm not sure how much we should advocate for this. Maybe write some docs. outside the FPC that says why packagers/upstreams/etc. should do this and the easiest ways to do it. Then maybe we link to it as an external source for help?
<@conan_kudo:matrix.org>
17:43:21
that's pretty much what I think we'd be doing, yes
<@conan_kudo:matrix.org>
17:43:32
kinda like what we did when we started pushing everyone to python3
<@gordonmessmer:fedora.im>
17:43:40
I can do that, for sure, but if I do that as an individual, it carries very little weight
<@conan_kudo:matrix.org>
17:44:03
the general idea of a policy, with words that all packagers can take to upstreams, carries a lot more weight
<@james:fedora.im>
17:44:13
You might be vastly overestimating the amount of weight the FPC docs. carry ;)
<@conan_kudo:matrix.org>
17:44:24
you underestimate them :P
<@decathorpe:fedora.im>
17:44:29
I mean, PG are mostly rules for *what* to do, not always exactly *how*, so recommending it in the PGs and having the docs somewhere else makes sense to me
<@conan_kudo:matrix.org>
17:44:45
you'd be surprised how many upstreams actually use our guidelines as development references
<@conan_kudo:matrix.org>
17:44:57
it even has come up in KDE discussions a couple of times
<@decathorpe:fedora.im>
17:45:16
more or less often than the FHS? :)
<@conan_kudo:matrix.org>
17:45:25
definitely more
<@decathorpe:fedora.im>
17:45:29
heh
<@james:fedora.im>
17:46:41
I guess I might more like ... FPC says something like: "You SHOULD make it so any pkg building against your library will run with at least that version." Maybe with examples about why ... then we link to docs about SO versions, or library symbol versions, or requires_ge or whatever.
<@james:fedora.im>
17:46:57
I guess I mean more ... FPC says something like: "You SHOULD make it so any pkg building against your library will run with at least that version." Maybe with examples about why ... then we link to docs about SO versions, or library symbol versions, or requires\_ge or whatever.
<@conan_kudo:matrix.org>
17:47:01
yes
<@gordonmessmer:fedora.im>
17:48:01
One of the problems is that RHEL and probably others specifically do not want to make it so that building against a library will run with at least that version
<@gordonmessmer:fedora.im>
17:48:11
That is the thing that I have suggested in several PRs against rpm
<@gordonmessmer:fedora.im>
17:48:38
and I still think that should happen for libraries without versioned symbols, but versioned symbols do something better than that
<@conan_kudo:matrix.org>
17:48:43
it's not great in Fedora because it really makes implementation switching suck
<@gordonmessmer:fedora.im>
17:49:07
because versioned symbols can indicate the minimum version of a library when it's older than what is in the build root
<@conan_kudo:matrix.org>
17:49:14
and RHEL doesn't like it because ISVs often _need_ to do horrible things through switching implementations and they don't want to make that worse than it already is
<@conan_kudo:matrix.org>
17:49:42
and really the truth is we want to express the ABI compatibility in a compact fashion
<@decathorpe:fedora.im>
17:50:05
ok, so the recommendation should be "use symbol versions where possible, fall back to other ugly things if not"
<@decathorpe:fedora.im>
17:50:07
?
<@james:fedora.im>
17:50:39
You could use a few more words than I did to express that if you use symbol versioning, or other mechanisms, so that you can build on newer versions and run compatibley on older ones then that's better. But if not use SO versions or require_ge or whatever?
<@gordonmessmer:fedora.im>
17:51:18
I can't find documentation for require_ge and don't know what it did.
<@conan_kudo:matrix.org>
17:52:03
it was part of rpm and dropped a while ago when the perl macros were externalized
<@conan_kudo:matrix.org>
17:52:17
it was contributed I think by the ALT folks to RPM in the early 2000s or something
<@conan_kudo:matrix.org>
17:52:43
but I have been considering putting them back into redhat-rpm-config like was done in rpm-config-SUSE
<@conan_kudo:matrix.org>
17:53:30
oh maybe it was PLD
<@conan_kudo:matrix.org>
17:53:39
oh maybe it was PLD who contributed it in the 2000s
<@conan_kudo:matrix.org>
17:53:40
anyway
<@conan_kudo:matrix.org>
17:53:43
not important
<@conan_kudo:matrix.org>
17:54:17
you can see an example of it in this PackageKit spec in openSUSE: https://build.opensuse.org/projects/GNOME:Factory/packages/PackageKit/files/PackageKit.spec?expand=1
<@conan_kudo:matrix.org>
17:54:29
```
<@conan_kudo:matrix.org>
17:54:29
```
<@conan_kudo:matrix.org>
17:54:29
%requires_ge %(rpm -qf "$(readlink -f %{_libdir}/libdnf5.so)")
<@gordonmessmer:fedora.im>
17:55:33
the recommendation to library developers should be: add symbol versions
<@gordonmessmer:fedora.im>
17:55:33
the recommendation to package maintainers should be: ask upstream library developers to add versioned symbols
<@gordonmessmer:fedora.im>
17:55:33
"ugly things" is usually making the version in the build root a minimum, which is largely seen as bad ( I only think it's bad because it should be the *default* for libraries without symbol versions)
<@gordonmessmer:fedora.im>
17:55:33
"ugly things" sometimes means manually tracking the minimum, and that means letting the system occasionally fail and then updating your minimums when users complain. that is also bad.
<@gordonmessmer:fedora.im>
17:56:23
sometimes "ugly things" means detecting the minimum like https://src.fedoraproject.org/rpms/python3.13/c/1b3b52c26453ea6ee7fb228db8b2de3e444b7159?branch=rawhide
<@gordonmessmer:fedora.im>
17:56:23
and that is just bonkers
<@gordonmessmer:fedora.im>
17:57:04
like, the solution is not wrong, but the idea of the entire distribution doing that for every dependency is nuts.
<@decathorpe:fedora.im>
17:57:06
eh .. yes. that is what I meant by "ugly things" :)
<@gordonmessmer:fedora.im>
17:57:24
I would like to clear out all of the ugly things
<@decathorpe:fedora.im>
17:57:38
wouldn't we all
<@gordonmessmer:fedora.im>
17:57:44
[gordon@... rpm-specs]$ grep -r -E '^Requires:\s*lib.*>=' .| grep -v '{version}' | cut -f1 -d: | uniq | wc -l
<@gordonmessmer:fedora.im>
17:57:44
267
<@gordonmessmer:fedora.im>
17:58:16
I'm sure there are more ugly things than that, but ...
<@decathorpe:fedora.im>
17:58:50
I'm pretty sure GNOME stuff accounts for ~50% of that ...
<@gordonmessmer:fedora.im>
17:59:07
wouldn't surprise me much
<@decathorpe:fedora.im>
17:59:36
I mean https://src.fedoraproject.org/rpms/gnome-shell/blob/rawhide/f/gnome-shell.spec#_84-98
<@gordonmessmer:fedora.im>
18:00:17
/me nods
<@gordonmessmer:fedora.im>
18:00:29
"manually tracking the minimum, and that means letting the system occasionally fail"
<@james:fedora.im>
18:00:50
Also wasn't pkgconfig supposed to help with this?
<@james:fedora.im>
18:01:13
Eh ... too many cobwebs being dusted in my brain.
<@gordonmessmer:fedora.im>
18:01:15
I actually started working on this after someone reported that gdm was broken (gnome-shell deps not met)
<@james:fedora.im>
18:01:39
We don't have any time left...
<@james:fedora.im>
18:02:02
!topic Moving from pagure to Forge.fp.o ...
<@james:fedora.im>
18:02:36
One extra thing I thought it'd be worth bringing up ... everyone else is moving to forge, so I guess we probably should too somewhat soon.
<@james:fedora.im>
18:03:23
I know a few people have run scripts to move issues/tickets ... does anyone want to own doing the move?
<@decathorpe:fedora.im>
18:03:51
hm ... not sure how well existing open PRs are migrated?
<@decathorpe:fedora.im>
18:04:07
but, yes, in general, +1 to migrating
<@decathorpe:fedora.im>
18:04:24
I handled the rust-sig migration, it was quite painless
<@conan_kudo:matrix.org>
18:05:08
it's possible to migrate pull requests I think? but users all have to exist in the target forge
<@conan_kudo:matrix.org>
18:05:18
so everyone has to log in at least once
<@decathorpe:fedora.im>
18:05:23
something like that
<@decathorpe:fedora.im>
18:05:35
but that can probably be figured out in the infra ticket for the migration
<@decathorpe:fedora.im>
18:05:58
likewise for the accounts / group setup for team owners / members
<@james:fedora.im>
18:06:08
Yeh, the one thing I've seen is that you get a choice of not having things assigned/owned by the same people ... or they get 666 notifications due to all the issues getting "reassigned" back to them.
<@decathorpe:fedora.im>
18:06:40
eh, just turn off email notifications ;)
<@james:fedora.im>
18:06:56
Who even uses email anymore anyway? ;)
<@decathorpe:fedora.im>
18:07:18
I wish I didn't
<@james:fedora.im>
18:08:19
Okay, see everyone in a couple of weeks.
<@james:fedora.im>
18:08:21
!endmeeting