From Fedora Project Wiki

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

Current status

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)
  • 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

  1. Make sure that python-rpm-generators >= 7-1.fc30 is installed
  2. Remove all requires for python modules
  3. 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.

Release Notes