From Fedora Project Wiki


Deprecate python-nose

Summary

The python-nose (python3-nose) package will be deprecated in Fedora 32. Nose is dead upstream, but far too many packages still BuildRequire it, so we cannot remove it yet. Packagers are encouraged to switch to python3-pytest or python3-nose2, but python3-nose remains available for the time being.

Owner

Current status

Detailed Description

The python-nose package regularly requires downstream only patches to support new Python versions.

Upstream is long dead and has a notice on the website that says:

> Nose has been in maintenance mode for the past several years and will likely cease without a new person/team to take over maintainership. New projects should consider using Nose2, py.test, or just plain unittest/unittest2.

We'd like to drop it from Fedora, but 27 packages require it on runtime and 323 on build time (only direct (Build)Requires were counted, on 2020-01-13). Before we attempt to make the number smaller, we need to stop new packages to (Build)Require python3-nose, hence we want to have it deprecated.

Packagers are encouraged to switch to python3-pytest or python3-nose2, but python3-nose remains available for the time being without a known removal date. Future removal is possible, but not part of this proposal.

Benefit to Fedora

No new packages will depend on a dead test runner. Eventually, bootstrapping new Python versions in Fedora won't be blocked on another downstream only patch for nose.

Scope

  • Proposal owners: Deprecate python3-nose. Help package maintainers convert to other test runners when asked.
  • Other developers: Nothing required (not a System Wide Change). Optionally, drop the dependency on nose from existing packages.
  • Release engineering: N/A (not a System Wide Change)
  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

The package will remain available. Only new packages cannot depend on it.

How To Test

$ repoquery --repo=rawhide --provides python3-nose
...
deprecated()
...

User Experience

No changes.

Dependencies

N/A (not a System Wide Change)

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No
  • Blocks product? N/A

Documentation

N/A (not a System Wide Change)

Release Notes