No edit summary |
(Update Contingency Plan and docs) |
||
Line 88: | Line 88: | ||
== How To Test == | == How To Test == | ||
See [[FinalizingFedoraSwitchtoPython3#How_To_Test|How_To_Test section in the Finalizing Fedora's Switch to Python 3]] document. | |||
== Dependencies == | == Dependencies == | ||
Line 114: | Line 94: | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
TBD | |||
== Contingency Plan == | == Contingency Plan == | ||
* Contingency mechanism: (What to do? Who will do it?) In case the change is not completed in time, it will be moved to the next Fedora release. | |||
* Contingency mechanism: (What to do? Who will do it?) | * Contingency deadline: beta freeze | ||
* Blocks release? No | |||
* Contingency deadline: | * Blocks product? No | ||
* Blocks release? | |||
* Blocks product? | |||
== Documentation == | == Documentation == | ||
* [[FinalizingFedoraSwitchtoPython3]] | |||
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/6AIJ6CYUYXACKR4TJH2ATY2JYWSHPRSG/ Discussion on Fedora devel mailing list] | |||
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/DQ4VMCKFO7I5ZVRDTGEMISG6LG7P7BM7/#Q225ZPP7R5OAI6MWDW7D5HUNMPIFV3EI Mass package change (python2- binary package renaming), part 1] | |||
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/JBLBDFGQJZ5ZDNXPKW5CHNTWGEQ2YTYJ/ MASS CHANGE announcement: python2- prefix renaming, part 2] | |||
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/EJ5XP2R54V62K7FD5DIPQS3ZYKPUIULH/ Mass Pull Request filing for ambiguous Python 2 requirements]. | |||
== Release Notes == | == Release Notes == | ||
Line 138: | Line 116: | ||
Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze. | Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze. | ||
--> | --> | ||
TBD | |||
[[Category:ChangePageIncomplete]] | [[Category:ChangePageIncomplete]] |
Revision as of 13:58, 19 December 2017
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-19
- 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 conforms to the Python packaging guidelines and was approved by FPC. The work on the change is already in progress and will be tracked by this Fedora change.
Benefit to Fedora
See Benefit to Fedora section in the Finalizing Fedora's Switch to Python 3 document.
Scope
- Proposal owners:
Proposal owners are to communicate the idea to the packagers and fix all affected packages via Mass_package_changes procedure.
- Other developers:
Package maintainers will be asked to review Pagure PRs.
- 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:
- Using python2/python3 instead of python in binary RPM package name guidelines, fpc
- Using python2/python3 instead of python in (Build)Requires, guidelines, fpc
- Using
/usr/bin/python2
instead of/usr/bin/python
in shebangs and Requires, guidelines, fpc
Upgrade/compatibility impact
N/A (not a System Wide Change)
How To Test
See How_To_Test section in the Finalizing Fedora's Switch to Python 3 document.
Dependencies
TBD
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) In case the change is not completed in time, it will be moved to the next Fedora release.
- Contingency deadline: beta freeze
- Blocks release? No
- Blocks product? No
Documentation
- FinalizingFedoraSwitchtoPython3
- Discussion on Fedora devel mailing list
- Mass package change (python2- binary package renaming), part 1
- MASS CHANGE announcement: python2- prefix renaming, part 2
- Mass Pull Request filing for ambiguous Python 2 requirements.
Release Notes
TBD