From Fedora Project Wiki

Revision as of 10:22, 19 July 2016 by Cstratak (talk | contribs) (Created page with "== Summary == Update the Python 3 stack in Fedora from Python 3.5 to Python 3.6. == Owner == * Name: Charalampos Stratakis * Email: <cstratak@redhat.com> ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Summary

Update the Python 3 stack in Fedora from Python 3.5 to Python 3.6.

Owner


Current status

  • Targeted release: Fedora 26
  • Last updated: 2016-07-19
  • Tracker bug: [TODO]

Detailed Description

Python 3.6 adds numerous features and optimizations. See the upstream notes at [TODO What's new in 3.6].

Benefit to Fedora

Fedora aims to showcase the latest in free and open source software - we should have the most recent stable release of Python 3.

Scope

As Python3.5 was already released as a final release and Debian had already updated their Python to v3.5 we could expect all the core (most used) Python modules to be already Python3.5 compatible.

There is 973 packages that (Build)Requires python3 (in F24). Also it is important to note that Python3 is now the default interpreter for Fedora therefore it is crucial part of the distribution (anaconda and dnf run on Python).


  • Proposal owners:
    • Make a request to create a f26-python3 side-tag for Python3.6 rebuild.
    • Rebuild gdb without python3 support to have minimal buildroot python3 free as we can't have (currently) simultaneously installed both Python3.4 and Python3.5 versions within the buildroot.
    • Build Python3.6.
    • Rebuild gdb and all the packages marked as core within this tag. We consider all packages shipped by default (and their dependencies) on Fedora DVD to be core packages.
    • Rebuild rest of the packages in mass rebuild


  • Other developers:

Owners of packages that fail to rebuild will be asked using bugzilla to fix or remove their packages from the distribution. They can rebuild their packages themselves if interested using fedpkg build --target f26-python3. We will keep the list of rebuilt packages/packages in queue publicly accessible.


  • Release engineering:

Mass rebuild rest of the packages.


  • Policies and guidelines:

None

Upgrade/compatibility impact

All the packages that depends on Python3 must be rebuild. User written Python 3 scripts/applications may require a small amount of porting, but mostly Python 3.5 is forward compatible with Python 3.6.

How To Test

Interested testers do not need special hardware. If you have a favorite Python 3 script, module, or application, please test it with Python 3.6 and verify that it still works as you expect.

How to get Python3.5:

  • Get mock config

sudo wget -O /etc/mock/python35.cfg https://rkuska.fedorapeople.org/fedora-rebuild.cfg

  • Initialize and test in mock


User Experience

Regular distro users shouldn't notice any change in system behavior other than the Python3 interpreter will be in version v3.5.

Dependencies

See scope section.

Contingency Plan

  • Contingency mechanism: Don't merge f24-python3 side-tag.
  • Contingency deadline: TBD
  • Blocks release? No


Documentation

Porting to Python3.5

Porting from Python 3.4 to 3.5

Python 3.5 is on its way


Release Notes

What's new in Python3.5