Python 2 / PyPy removal help page
Announcement: https://lists.debian.org/debian-python/2019/07/msg00080.html
Transition: https://release.debian.org/transitions/html/python2-rm.html
Fedora: https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
Python 2 Countdown: https://pythonclock.org/
Check list
Quick list of things to do while removing Python / ?PyPy binary package:
check apt rdepends python-foo and … TODO: build-depends (reverse-depends -b python-foo from ubuntu-dev-tools package?).
- NOTE: If there are reverse dependencies, you cannot remove it yet!
- remove python-foo and pypy-foo from debian/control
- remove python-foo and pypy-foo from debian/rules
remove --with python2 from debian/rules if your package didn't use dh-sequence-python2 build dependency
- remove python-foo and pypy-foo from debian/tests
- if documentation was in python-foo - move it to python3-foo or python-foo-doc
(do not remove python-foo-doc or rename it to python3-foo-doc)
- check/remove debian/python-foo.* and pypy-foo.* files
mention Python 2 / ?PyPy removal in debian/changelog
- do not close the bug in the changelog (exception: applications moving to Python 3)
- build the source package
- test it
- upload it to unstable
- reassign py2removal bug to ftp.debian.org pseudo package, rename it to "FIXME: proper title to remove binary package only"
usertags (debian-python@lists.debian.org)
py2removal - all packages affected by Python 2 / ?PyPy removal
py2leaf - leaf package ready to be removed, i.e. without (build-)dependencies
- (including Recommends) in Debian main,
py3available - Python 3 support is available upstream, package needs an
- update in Debian,
py3noport - there's no upstream support for Python 3, needs a port done by us
- or package will be removed,
py2keep - package that should not be removed for now (popcon >1000 by
- default). Please don't add this usertag without discussing it on the mailing list first,
py2rm - packages that we will remove from Debian due to low popcon, etc.
- all packages with popcon <100 will get this one by default, but it can be removed
FAQ
My package is affected only because it uses python-sphinx to generate documentation, what should I do?
just replace it with python3-sphinx