From Fedora Project Wiki
(Benefit to Fedora section)
No edit summary
Line 26: Line 26:


== Owner ==
== Owner ==
<!--
 
For change proposals to qualify as self-contained, owners of all affected packages need to be included here. Alternatively, a SIG can be listed as an owner if it owns all affected packages.
This should link to your home wiki page so we know who you are.
-->
* Name: [[User:Ishcherb| Iryna Shcherbina]]
* Name: [[User:Ishcherb| Iryna Shcherbina]]
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
* Email: ishcherb@redhat.com
* Email: ishcherb@redhat.com
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
-->
<!--- UNCOMMENT only if this Change aims specific product, working group (Cloud, Workstation, Server, Base, Env & Stacks)
* Product:
* Responsible WG:
-->


== Current status ==
== Current status ==
Line 68: Line 57:




Each of the above steps conforms to the [[Packaging:Python|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.
Each of the above conforms to the [[Packaging:Python|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 ==
== Benefit to Fedora ==
Line 76: Line 65:
== Scope ==
== Scope ==
* Proposal owners:
* Proposal owners:
Proposal owners are to communicate the idea to the packagers and fix all affected packages  via [[Mass_package_changes]] procedure.


* Other developers: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Other developers:
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
Package maintainers will be asked to review Pagure PRs.


* Release engineering: [https://pagure.io/releng/issues #Releng issue number] (a check of an impact with Release Engineering is needed) <!-- REQUIRED FOR SYSTEM WIDE AS WELL AS FOR SELF CONTAINED CHANGES -->
* Release engineering: [https://pagure.io/releng/issues #Releng issue number] (a check of an impact with Release Engineering is needed) <!-- REQUIRED FOR SYSTEM WIDE AS WELL AS FOR SELF CONTAINED CHANGES -->
Line 86: Line 76:
<!-- Please check the list of Fedora release deliverables and list all the differences the feature brings -->
<!-- Please check the list of Fedora release deliverables and list all the differences the feature brings -->


* Policies and guidelines: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Policies and guidelines:
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->
** Using python2/python3 instead of python in binary RPM package name [https://fedoraproject.org/wiki/Packaging:Naming?rd=Packaging:NamingGuidelines#Python2_binary_package_naming guidelines], [https://pagure.io/packaging-committee/issue/685 fpc]
 
** Using python2/python3 instead of python in (Build)Requires, [https://fedoraproject.org/wiki/Packaging:Python#Dependencies guidelines], [https://pagure.io/packaging-committee/issue/686 fpc]
* Trademark approval: N/A (not needed for this Change)
** Using <code>/usr/bin/python2</code> instead of <code>/usr/bin/python</code> in shebangs and Requires, [https://fedoraproject.org/wiki/User:Churchyard/Packaging:Python#Multiple_Python_Runtimes guidelines], [https://pagure.io/packaging-committee/issue/698 fpc]
<!-- If your Change may require trademark approval (for example, if it is a new Spin), file a ticket ( https://fedorahosted.org/council/ ) requesting trademark approval from the Fedora Council. This approval will be done via the Council's consensus-based process. -->


== Upgrade/compatibility impact ==
== Upgrade/compatibility impact ==

Revision as of 13:42, 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

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 to python2-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 of python-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.

  • 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

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