Bug 1871095

Summary: thrift (probably incorrectly) build-depends on flex-devel
Product: [Fedora] Fedora Reporter: Arjun Shankar <ashankar>
Component: thriftAssignee: Christopher Tubbs <ctubbsii>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: ctubbsii, milleruntime, orion
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: thrift-0.13.0-7.fc34 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-09-18 03:05:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Arjun Shankar 2020-08-21 10:19:29 UTC
I'm filing this report because when I run the following command:
dnf repoquery --disablerepo="*" --enablerepo="*-source" --arch=src --whatdepends flex-devel

I see thrift listed among the results.

flex-devel used to provide only libfl.a, a static library.

As per Fedora packaging guidelines, a build dependency on a static library should be represented by depending on the -static subpackage, not the -devel one that might actually contain the static library:

https://docs.fedoraproject.org/en-US/packaging-guidelines/#_statically_linking_executables

I just changed the subpackage split of flex, and have obsoleted flex-devel.

Although build-dependent packages will continue to build, a build-dependency requiring libfl.a should now ideally build-depend on libfl-static. flex now also provides shared libraries, and a build-dependency on libfl.so, should now depend on libfl2 (shared library) and libfl2-devel (headers).

Comment 1 Orion Poplawski 2020-09-18 03:05:50 UTC
Turns out that thrift doesn't actually need to use libfl.a at all, so I've just dropped the BR completely.  Thanks.