Bug 2249305 - condor-23.1.0-1.fc40 provides libfmt.so.10()(64bit) from bundled version of libfmt
Summary: condor-23.1.0-1.fc40 provides libfmt.so.10()(64bit) from bundled version of l...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: condor
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Tim Theisen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-11-12 02:39 UTC by Kevin Fenzi
Modified: 2024-01-19 14:27 UTC (History)
8 users (show)

Fixed In Version: condor-23.1.0-3.fc40
Clone Of:
Environment:
Last Closed: 2024-01-18 15:42:28 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Kevin Fenzi 2023-11-12 02:39:01 UTC
condor-23.1.0-1.fc40 seems to have added a bundled libfmt: 

+%_libdir/condor/libfmt.so
+%_libdir/condor/libfmt.so.10
+%_libdir/condor/libfmt.so.10.1.0

This lands it it's Provides and causes a bit of havok. ;( 

I have untagged the package from f40/rawhide so we can get a working rawhide compose (see https://pagure.io/releng/failed-composes/issue/5620 ). Still not 100% sure this is the cause, but it seems likely...

So, either you need to use the system libfmt and drop this, or filter out the Provides so it doesn't cause everything else to try and depend on condor (and the lib isn't in the normal path, so things don't run). ;( 

https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/ has some info on filtering if you want to go that route. 

Reproducible: Always

Comment 1 Tim Theisen 2023-11-13 22:37:17 UTC
condor is starting to use libfmt. Unfortunately, we need the 10.1 version and rawhide has fmt 10.0. So, we will filter the RPM provides.

Thank you for reporting this issue and providing the pointer on filtering.

Comment 2 Adam Williamson 2024-01-18 01:53:45 UTC
Releng untagged the bad build to mitigate this problem, but it was never fixed in the condor dist-git repo. We found out today because jwakeley rebuilt condor on a side tag as part of the Boost 1.83 rebuild, inadvertently breaking builds in his side tag, and resulting in myself and Kevin spending half an hour rediscovering this problem.

Meanwhile, Rawhide got fmt 10.1.1 on November 14 (two days after the bug was filed) and 10.2.1 on January 16.

Can you please drop the bundled libfmt, do a new condor build, and prevent this landmine hitting anyone else? Thanks.

Also, for future reference, Fedora has rules about bundling libraries that are provided system-wide, you can't just...do it. If you ever believe you have a reason to do this in future, please read and follow https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling .

Comment 3 Tim Theisen 2024-01-18 02:17:13 UTC
My apologies. I will fix this first thing tomorrow morning.

Comment 4 Jonathan Wakely 2024-01-18 02:19:23 UTC
When you've fixed it in dist-git, please use --target f40-build-side-81691 for the koji build, so that it uses the new Boost.

Comment 5 Jonathan Wakely 2024-01-18 02:25:24 UTC
I've created a pull request that hacks out the bundled fmt:
https://src.fedoraproject.org/rpms/condor/pull-request/3

Comment 6 Fedora Update System 2024-01-18 15:40:13 UTC
FEDORA-2024-730927574e has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2024-730927574e

Comment 7 Fedora Update System 2024-01-18 15:42:28 UTC
FEDORA-2024-730927574e has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 8 Jonathan Wakely 2024-01-18 15:43:16 UTC
(In reply to Jonathan Wakely from comment #4)
> When you've fixed it in dist-git, please use --target f40-build-side-81691
> for the koji build, so that it uses the new Boost.

You didn't do this, so it will need to be built again. Please don't do it now though, the side tag is being merged back to rawhide.

I'll take care of it after boost-1.83.0 lands in f40-boost.

Comment 9 Jonathan Wakely 2024-01-18 15:45:51 UTC
This fix seems unsafe:
https://src.fedoraproject.org/rpms/condor/c/8485b9b7a03a3df2d6048fee90a5ad2bf4e31405?branch=rawhide

Your package is building against its bundled fmt and then just using the system one, assuming it's compatible. That's true today, but might not be true next week if fmt is updated in rawhide. 

My https://src.fedoraproject.org/rpms/condor/pull-request/3 made it build against the system fmt.

Comment 10 Jonathan Wakely 2024-01-19 14:27:14 UTC
(In reply to Jonathan Wakely from comment #9)
> This fix seems unsafe:
> https://src.fedoraproject.org/rpms/condor/c/
> 8485b9b7a03a3df2d6048fee90a5ad2bf4e31405?branch=rawhide
> 
> Your package is building against its bundled fmt and then just using the
> system one, assuming it's compatible. That's true today, but might not be
> true next week if fmt is updated in rawhide. 

Oops sorry, I misread it through lack of sleep - your fix only filters out the Provides etc. it doesn't change which version is bundled and used by condor.

I think your fix is the right one (and what's required by Fedora policy). But I think you should also have `Provides: bundled(fmt)` until the bundled lib is no longer used.


Note You need to log in before you can comment on or make changes to this bug.