#2130 Exception request: Use Python 2.7 to build PyPy (2 & 3)
Closed: Accepted 2 years ago by zbyszek. Opened 2 years ago by churchyard.

I'd like to request a FESCo exception to have the ability to build PyPys (packages pypy (eventually pypy2 in the future) and pypy3) with Python 2.7 in Fedora 32.

PyPy uses RPython to build itself. PyPy is essentially written in RPython (a dialect of Python 2) and during the build of the RPMs, it is compiled with RPython into libpypy-c.so or libpypy3-c.so.

RPython can be invoked either via PyPy 2.7 or CPython 2.7. Our PyPy packages contain a conditional to choose from the two. While PyPy is the default, we sometimes need to rebuild PyPy with CPython.

  • to avoid bootstrapping issues
  • to workaround weird build failures on some architectures

(Note that currently all built arches are built with PyPy.)

I'm not aware of any plans to have RPython (and PyPy sources) rewritten to be semantically Python 3, but if requested, I can dig deeper. Upstream PyPy plans to support PyPy 2 past CPython 2 EOL.

This is a build time dependency only. As a result of how things are done, some shebangs in the sources can also contain /usr/bin/python2 when CPython is used to build the package and hence the debugsource packages may have a runtime dependency on python27 as well, but not the normal packages.

When building PyPy with CPython 2, we also BR python2-pycparser. However that dependency can be removed, so I don't request an exception to keep python2-pycparser.


pypy seemed so futuristic at one moment. It's strange how quickly it went to being a drag on development.

Anyway, +1. If this was the last dependency on python2, things would be different. But I'm pretty sure we'll need python2 in some form for many years to come, and since this is only a build dependency, it doesn't matter much.

For the record, I abstain.

Approved by policy (+4, 1, -0)

Metadata Update from @churchyard:
- Issue tagged with: pending announcement

2 years ago

Metadata Update from @zbyszek:
- Issue untagged with: pending announcement
- Issue close_status updated to: Accepted
- Issue status updated to: Closed (was: Open)

2 years ago

Metadata Update from @churchyard:
- Issue tagged with: python 2 exception

10 months ago

Login to comment on this ticket.