From Fedora Project Wiki

< SIGs‎ | Python

No edit summary
No edit summary
Line 3: Line 3:
== Fedora downstream patches ==
== Fedora downstream patches ==


* https://src.fedoraproject.org/rpms/python37/blob/master/f/python37.spec#_253
* https://src.fedoraproject.org/rpms/python3.10/blob/master/f/python3.10.spec
* https://src.fedoraproject.org/rpms/python3/tree/master
* https://src.fedoraproject.org/rpms/python3.10/tree/master
* Tracking issue: https://bugzilla.redhat.com/show_bug.cgi?id=1287556
* Tracking issue: https://bugzilla.redhat.com/show_bug.cgi?id=1287556


Line 23: Line 23:
"Don't try to build a libpythonMAJOR.MINOR.a"
"Don't try to build a libpythonMAJOR.MINOR.a"


Upstream: https://bugs.python.org/issue43103
'''Upstream:''' https://bugs.python.org/issue43103
 
'''Downstream only: not appropriate for upstream.'''


Added by: https://src.fedoraproject.org/rpms/python3/c/aa4aef22cccc56ab0e7957b45209502ec487cdb1 (2010-01-18)
Added by: https://src.fedoraproject.org/rpms/python3/c/aa4aef22cccc56ab0e7957b45209502ec487cdb1 (2010-01-18)
== 00189-use-rpm-wheels.patch ==
"instead of bundled wheels, use our RPM packaged wheels. We keep them in /usr/share/python-wheels."
Upstream: https://bugs.python.org/issue42856
'''Tracked by:''' https://bugzilla.redhat.com/show_bug.cgi?id=1874803
=> Should be proposed upstream as an opt-in option.
Added by: https://src.fedoraproject.org/rpms/python3/c/0b241abda6b7f8d4b092974cecd11d9660fa7b83 (2018-08-15)
The patch should be rewritten to add a configure option for the Fedora directory (/usr/share/python-wheels/).
The patch should be rewritten to check first the _bundled/ directory, and only fallback on the Fedora directory if it doesn't exist. So the patch can be proposed upstream: it would no longer change the default behavior, only change the behavior if _bundled/ doesn't exist (which is never the case in upstream unmodified Python).
Upstream Lib/ensurepip/_bundled/ directory: https://github.com/python/cpython/tree/master/Lib/ensurepip/_bundled/
On Debian/Ubuntu, python3-ensurepip package is not installed by default.
Note: Previously, Fedora used a "rewheel" project, but this project caused other issues and so is no longer used in Fedora.


== 00251-change-user-install-location.patch ==
== 00251-change-user-install-location.patch ==
Line 86: Line 62:
Made upstream by Victor Stinner:
Made upstream by Victor Stinner:


* 2021-01-20: 00189-use-rpm-wheels.patch
** https://bugs.python.org/issue42856
** https://github.com/python/cpython/commit/75e59a97f5d1fddb0c30ed9747b1b8cb84420a62
* 2020-03-10: 00102-lib64.patch
* 2020-03-10: 00102-lib64.patch
** https://github.com/python/cpython/commit/8510f430781118d9b603c3a2f06945d6ebc5fe42
** https://github.com/python/cpython/commit/8510f430781118d9b603c3a2f06945d6ebc5fe42
Line 127: Line 106:
== History ==
== History ==


* python3.10:
** 2021-02-16: 4 patches (Python 3.10.0a5)
* python39:
* python39:
** 2020-03-05: 7 patches (Python 3.9.0a4)
** 2020-03-05: 7 patches (Python 3.9.0a4)

Revision as of 16:02, 16 February 2021

Fedora downstream patches are tracked in the page: Python Patches. This page gives the status of the downstream patches currently maintained in the latest Python package of Fedora.

Fedora downstream patches

00001-rpath.patch

"Fixup distutils/unixccompiler.py to remove standard library path from rpath"

=> Can be removed, but blocked by a Fedora change.

This patch is basically useless, but removing it would require to ensure that no Fedora package use rpath. See: https://pagure.io/packaging-committee/issue/886

See also: https://bugs.python.org/issue36659#msg340731

Added by: https://src.fedoraproject.org/rpms/python/c/f5df1f834310948b32407933e3b8713e1121105b (2010-03-16)

00111-no-static-lib.patch

"Don't try to build a libpythonMAJOR.MINOR.a"

Upstream: https://bugs.python.org/issue43103

Added by: https://src.fedoraproject.org/rpms/python3/c/aa4aef22cccc56ab0e7957b45209502ec487cdb1 (2010-01-18)

00251-change-user-install-location.patch

"Change user install location to /usr/local if executable is /usr/bin/python* and RPM build is not detected to make pip and distutils install into separate location."

=> Should be proposed upstream as a configure option.

Added by: https://src.fedoraproject.org/rpms/python3/c/332b947dfc8d0f0d3a4525864b121d0f239beb4d (2017-06-26)

00274-fix-arch-names.patch

"Upstream uses Debian-style architecture naming, change to match Fedora"

=> downstream only patch

Merged from several patches by: https://src.fedoraproject.org/rpms/python3/c/9423d36fb4847cc6117daea82490a188cc78ebdf (2017-08-31)

One of the originals added by: https://src.fedoraproject.org/rpms/python3/c/69d4e5d3533e4404ae7d42d537d29fd6861a8eae (2013-05-02)

00328-pyc-timestamp-invalidation-mode.patch

"Restore pyc to TIMESTAMP invalidation mode as default in rpmbuild"

=> downstream only patch

Patch related to PEP 552: Deterministic pycs implemented in Python 3.7.

Merged upstream

Made upstream by Victor Stinner:

Other:

History

  • python3.10:
    • 2021-02-16: 4 patches (Python 3.10.0a5)
  • python39:
    • 2020-03-05: 7 patches (Python 3.9.0a4)
    • 2020-02-17: 9 patches but 2 are backports (340 and 341), can be removed from next Python 3.9.0a4
  • python38:
    • 2019-06-19: 8 patches
    • 2019-04-23: 9 patches
    • 2019-02-07: 12 patches
    • 2018-11-08: 20 patches
  • python3 (currently Python 3.7):
    • 2019-04-02: 11 patches
    • 2019-03-07: 15 patches
    • 2018-07-12: 18 patches
    • 2018-05-10: 15 patches
  • python2 (Python 2.7):
    • 2019-05-17: 53 patches
    • 2019-03-07: 55 patches

Count patches::

   $ ls *.patch|wc -l
   55
   $ grep -c '^Patch[0-9]\+:' python*.spec
   55