Enabling Python Generators by default
Summary
This change enables the Python module dependency generator for packages that provide Python Egg/Wheel metadata by default (this was opt-in since Fedora 28).
Owner
- Name: Igor Gnatenko, Neal Gompa
- Email: ignatenkobrain@fedoraproject.org, ngompa13@gmail.com
- Release notes owner:
Current status
- Targeted release: Fedora 30
- Last updated: 2018-12-20
- Tracker bug: #1661309
- Release notes tracker: #268
Detailed Description
Please see detailed description from original change for information how it works and implemented.
In this change we will switch opt-in into opt-out.
Benefit to Fedora
All the benefits as stated in original change will be turned on for all packages (unless they opt-out).
Scope
- Proposal owners: Flip the switch (in python-rpm-generators) and adjust python-rpm-macros to make feature be opt-out. Send patches to packages to remove unnecessary manual-specified dependencies.
- Other developers: Packagers are strongly advised to remove manually-specified python dependencies if they are set in egg/wheel metadata.
- Release engineering: #7965 (change should be implemented before mass rebuild)
- List of deliverables: N/A (not a System Wide Change)
- Policies and guidelines: Python Guidelines needs to be updated with the now default. Instructions how to disable the feature are already there.
- Trademark approval: N/A (not needed for this Change)
Upgrade/compatibility impact
Some new dependencies might be automatically added, but this is rather good because it fixes real bugs.
How To Test
- Make sure that python-rpm-generators >= 7-1.fc30 is installed
- Remove all requires for python modules
- Rebuild package
Every dependency mentioned in egg/wheel (e.g. generated by setuptools/distutils from setup.py) should be automatically added.
User Experience
Users will see less number of packages with missing dependency information.
Dependencies
None.
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) Owners will revert change and postpone it to next release.
- Contingency deadline: Beta freeze.
- Blocks release? No.
- Blocks product? product
Documentation
Packaging guidelines already contain information how this feature work.