Meta ticket for tracking issues and fixes related to removing lang/python27
Created attachment 218241 [details] raw list of things that directly depend on python 2 Here's a current raw list of things that directly depend on python 2.x. Some of these are already in progress, etc. just want to put the list here for the record.
Created attachment 218245 [details] info on python2 deps I've generated bug reports for all the ports that I could find that directly depend on python 2. The goal was to ensure there are bugs for each of them for tracking purposes. My apologies for the brevity of these reports and the duplicate PRs. And FWIW, here is a list of how many ports depend on each of these. In case it's useful, here's a histogram of the numbers: 0: 93 1: 105 2: 45 3: 16 4: 4 5: 4 6: 1 7: 2 8: 1 9: 1 11: 1 18: 1 29: 1 33: 1 36: 1 47: 1 99: 1 Point being, at the moment, there are a handful of more important ports (qt5-webengine, chromium, etc.) that are well known, and a larger number of ones which nothing or only a few things depend on.
Comment on attachment 218241 [details] raw list of things that directly depend on python 2 (Don't know if this PR is meant to be answered?) I think, graphics/mapserver is a false positive. The port should build and run with Python 3. MapServer itself more or less is ready for Python3 since 7.2.0-beta1 release (2018-05-09)[1] [1] https://github.com/MapServer/MapServer/blob/branch-7-6/HISTORY.TXT
(In reply to Rainer Hurling from comment #3) Yes, see r549981
(In reply to Steve Wills from comment #4) Oops, yes. I have missed it, sorry ;)
What efforts are underway to evaluate and deploy python 2.x compatible interpreters, such as Tauthon, or someone else was mentioning PyPy? Anyone aware of these? I am asking for my port (mail/mailman) where upstream declined a Python 3.x migration and instead decided to write a new piece of software with a completely different architecture and requirements and feature set that was coincidentally dubbed mailman-3, but is not a viable migration path from mailman-2 for lack of features, lack of migration aids, and more. (Mailman is a mailing list driver with web front-end, archival, self-service and other features.) I suspect there may be a few more ports that would otherwise have to go, and measuring branch lengths and counting leaves is not an appropriate metric to determine the importance of a port. We may only know we've expired one too many port when users shout at us in 2021, or, worse, silently turn away from FreeBSD.
So, with the contribution of Tauthon, let's see how many ports that cannot migrate to Python 3.x for whatever reason (mailman 2, where mailman 3 is no substitute) could migrate to Tauthon instead, and thus be removed from the blockers list for this meta/tracking bug. I've marked 251019 a blocker to this.
A commit references this bug: Author: linimon Date: Wed Dec 16 01:45:02 UTC 2020 New revision: 558197 URL: https://svnweb.freebsd.org/changeset/ports/558197 Log: Defuse a ticking time-bomb by removing the dependency on devel/bzr. It is likely that this will break "make test", so, why am I doing it? The answer is that devel/bzr unconditionally depends on python27 (it is known not to build with python37) -- and python27 is imminently due for removal (see PR 249337). This would not matter so much except that py-pip winds up a dependency of devel/cmake, and thus, over 2000 ports -- all of which would have broken when python27 was removed. Unfortunately the time before that removal happens is simply too short to have a proper discussion with all stakeholders. We need to remove the dependency immediately so that PR 249337 can proceed. PR: 249337 (related to) Changes: head/devel/py-pip/Makefile
(In reply to commit-hook from comment #8) FWIW I can take a stab at getting devel/bzr on py3x. I'm pretty confident I can get it done before the (py2x) deadline. I should have something before the end of the week. --Chris
(In reply to Chris Hutchinson from comment #9) Might be better to create a port for Breezy: https://www.breezy-vcs.org/
(In reply to Steve Wills from comment #10) LOL figures. I'm about 2/3 done with devel/bzr. I already maintain devel/codeville and devel/tailor which both have support for bzr, either directly, or indirectly. I only took on BZR here, because it appeared many other ports in the tree used/depended on it. Nonetheless, Breezy looks interesting. I'll take a closer look as soon as I finish bzr (since I'm already nearly done). :-) Thanks for pointing it out Steve! :-) It looks to be a "friendlier" alternative. --Chris
Here's an updated list of things with USES=python:2*: audio/xmms2 chinese/sunpinyin devel/electron9 devel/gnatpython devel/libclc devel/libhid devel/libosmocore devel/py-enum34 devel/rbtools devel/subversion-lts devel/viewvc games/0ad games/renpy lang/pypy lang/spidermonkey185 lang/spidermonkey52 lang/spidermonkey60 mail/mailman math/gringo multimedia/mimms sysutils/uefi-edk2-bhyve sysutils/uefi-edk2-bhyve-devel www/chromium www/mattermost-rss www/moinmoin www/node10 www/node12
(In reply to Steve Wills from comment #12) Sorry, ignore www/mattermost-rss, that's one I have locally and haven't committed.
(In reply to Steve Wills from comment #12) www/qt5-webengine is also a direct consumer of Python 2.7
swills: not sure where best to mention this, but I've: - removed databases/couchdb2 (dependency on python2 spidermonkeys) - working on getting databases/couchdb3 to support python3 spidermonkey78 & 86
MARKED AS SPAM
Moin moin Closing this due to old age. Python 2.7 has been handled, as far as it can. mfg Tobias