Stop pulling dependencies for static libraries
Since day 0, RPM dependency generator for pkg-config files was pulling in both Requires and Requires.private. We will change generator to pull Requires.private only if static library is actually packaged.
- Name: Igor Gnatenko
- Email: email@example.com
- Release notes owner:
- Targeted release: Fedora 30
- Last updated: 2018-08-13
- Tracker bug: <will be assigned by the Wrangler>
Requires.private is only used when using
pkg-config --static to link statically. Most of the packages in fedora don't ship static libraries and Packaging Guidelines discourage packaging them.
The idea is to make them conditional by using rich dependencies which will change things like
(pkgconfig(x11) if pkgconfig-static(gdk-3.0)). But apart from this we will also not generate them unless packager uses special macro (TBD) to enable it for their packages.
Benefit to Fedora
This change makes dependency chain of -devel packages providing pkg-config smaller and additionally make metadata smaller.
- Proposal owners: Adjust dependency generator to do the right thing, update packaging guidelines.
- Other developers: Package maintainers which ship static library will need to update their packages with new packaging policy.
- Release engineering: #7678 (a check of an impact with Release Engineering is needed)
- List of deliverables: N/A (not a System Wide Change)
- Policies and guidelines: Guidelines need to be updated (not more that 1-2 paragraphs).
- Trademark approval: N/A (not needed for this Change)
dnf autoremove will remove useless packages from end-user systems. Users might be confused by that.
How To Test
See "Benefit to Fedora"
Need to patch pkgconfig dependency generator in
rpm and possibly add some macro in
- Contingency mechanism: Proposal owners will revert patches, rebuild affected packages and postpone change to next release.
- Contingency deadline: Beta freeze.
- Blocks release? No.
- Blocks product? product