Eliminate the python- prefix from the Python 2 package names and /usr/bin/python from shebangs
Summary
With Python 2 approaching it's EOL, we are trying to prepare Fedora for a transition to Python 3 as default, so that python
without a version number means Python 3. This Fedora change is the first step on the way to achieving this.
Owner
- Name: Iryna Shcherbina
- Email: ishcherb@redhat.com
- Release notes owner:
Current status
- Targeted release: Fedora 28
- Last updated: 2017-12-14
- Tracker bug: <will be assigned by the Wrangler>
Detailed Description
Finalizing Fedora's Switch to Python 3 document provides detailed information on the matter. This Fedora change covers only Phase 1 of the transition steps, and aims to clean up Fedora packages in accordance with recent changes to Python packaging guidelines regarding the usage of python
without a version number in package names, requirements, shebangs, etc. The clean up covers:
- Renaming Python 2 binary RPMs from
python-foo
topython2-foo
This is already partially done by applying automated patches as announced in Mass package change (python2- binary package renaming). The packages which still need to be fixed are tracked in PortingDB.
- Fixing ambiguous Python 2 dependency declarations, i.e using
python2-foo
instead ofpython-foo
in requirements
We have started opening automatic Pull Requests with patches as announced in Mass Pull Request filing for ambiguous Python 2 requirements. The packages which will be targeted are tracked in PortingDB.
- Ensuring that
/usr/bin/python
or </usr/bin/env python> shebangs are replaced with either/usr/bin/python2
or/usr/bin/python3
Each of the above steps conforms to the Python packaging guidelines and was approved by FPC.
Benefit to Fedora
Scope
- Proposal owners:
- Other developers: N/A (not a System Wide Change)
- Release engineering: #Releng issue number (a check of an impact with Release Engineering is needed)
- List of deliverables: 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
N/A (not a System Wide Change)
How To Test
N/A (not a System Wide Change)
User Experience
N/A (not a System Wide Change)
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? product
Documentation
N/A (not a System Wide Change)
Release Notes