From Fedora Project Wiki
(Initial draft)
 
(Benefit to Fedora section)
Line 1: Line 1:
{{admon/important | Comments and Explanations | The page source contains comments providing guidance to fill out each section. They are invisible when viewing this page. To read it, choose the "view source" link.<br/> '''Copy the source to a ''new page'' before making changes!  DO NOT EDIT THIS TEMPLATE FOR YOUR CHANGE PROPOSAL.'''}}
<!-- Self Contained or System Wide Change Proposal?
<!-- Self Contained or System Wide Change Proposal?
Use this guide to determine to which category your proposed change belongs to.
Use this guide to determine to which category your proposed change belongs to.
Line 67: Line 65:
We have started opening automatic Pull Requests with patches as announced in [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/EJ5XP2R54V62K7FD5DIPQS3ZYKPUIULH/ Mass Pull Request filing for ambiguous Python 2 requirements].  The packages which will be targeted are tracked in [http://fedora.portingdb.xyz/namingpolicy/#require-misnamed PortingDB].
We have started opening automatic Pull Requests with patches as announced in [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/EJ5XP2R54V62K7FD5DIPQS3ZYKPUIULH/ Mass Pull Request filing for ambiguous Python 2 requirements].  The packages which will be targeted are tracked in [http://fedora.portingdb.xyz/namingpolicy/#require-misnamed PortingDB].


* Ensuring that <code>/usr/bin/python</code> or </usr/bin/env python> shebangs are replaced with either <code>/usr/bin/python2</code> or <code>/usr/bin/python3</code>
* Ensuring that <code>/usr/bin/python</code> or <code>/usr/bin/env python</code> shebangs are replaced with either <code>/usr/bin/python2</code> or <code>/usr/bin/python3</code>
 


Each of the above steps conforms to the [[Packaging:Python|Python packaging guidelines]] and was approved by FPC.
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.


== Benefit to Fedora ==
== Benefit to Fedora ==


See [[FinalizingFedoraSwitchtoPython3#Benefit_to_Fedora|Benefit to Fedora section in the Finalizing Fedora's Switch to Python 3]] document.
 
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->


== Scope ==
== Scope ==

Revision as of 08:30, 18 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-18
  • 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 steps 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:
  • Other developers: 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