From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id C44D1138350 for ; Mon, 13 Jan 2020 00:45:03 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 17AA8E0E3B; Mon, 13 Jan 2020 00:45:00 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 909C2E0E34 for ; Mon, 13 Jan 2020 00:44:59 +0000 (UTC) Received: from [192.168.1.13] (c-73-173-172-109.hsd1.va.comcast.net [73.173.172.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: kumba) by smtp.gentoo.org (Postfix) with ESMTPSA id 314E034DFF0 for ; Mon, 13 Jan 2020 00:44:58 +0000 (UTC) Subject: Re: [gentoo-dev] unsanctioned python 2.7 crusade To: gentoo-dev@lists.gentoo.org References: <15005ba1-1a1b-5d71-dbe3-7834b79ee733@gentoo.org> <9630692.nUPlyArG6x@tuxk10> <390fadf1-4a72-24b8-049e-1ab5925590da@gentoo.org> <8fe11208-3cc6-2227-b4d8-9d76aaf90130@gentoo.org> <248003461021ea2a5e275fcd423fea47192a680f.camel@gentoo.org> <20200113002109.GA30479@linux1.home> From: Joshua Kinard Openpgp: preference=signencrypt Message-ID: <8b5c2645-cc16-0b6c-ead1-668f33132a1f@gentoo.org> Date: Sun, 12 Jan 2020 19:44:55 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 In-Reply-To: <20200113002109.GA30479@linux1.home> Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Archives-Salt: b3cfed78-c52f-4d69-bc81-9e074bdff27a X-Archives-Hash: f5b608c47f21113d48f8ebdffadcd8f0 On 1/12/2020 19:21, William Hubbs wrote: > On Mon, Jan 13, 2020 at 12:17:36AM +0100, David Seifert wrote: >> On Sun, 2020-01-12 at 17:55 -0500, Joshua Kinard wrote: >>> On 1/12/2020 17:46, David Seifert wrote: >>>> On Sun, 2020-01-12 at 17:43 -0500, Joshua Kinard wrote: >>>>> On 1/12/2020 17:32, Andreas Sturmlechner wrote: >>>>>> On Sonntag, 12. Januar 2020 23:07:24 CET Joshua Kinard wrote: >>>>>>> It might be worthwhile to treat the removal of Python-2.7 >>>>>>> from >>>>>>> the tree in >>>>>>> the same manner as an EAPI deprecation and removal, given how >>>>>>> ingrained it >>>>>>> is due to its longevity. That will minimize the whiplash- >>>>>>> effect >>>>>>> of emerge >>>>>>> complaining about slot conflicts and dependency >>>>>>> conflicts. Like >>>>>>> I just ran >>>>>>> into w/ setuptools-45.0.0.0's release. >>>>>> >>>>>> So, no packaging of >=setuptools-45.0.0 until the end of 2020? >>>>>> Do >>>>>> you want to >>>>>> freeze all python libs that upstreams are dropping py27 support >>>>>> from? >>>>>> >>>>> >>>>> Not saying not to package it. Right now, the issue seems to be >>>>> it >>>>> causes >>>>> dependency conflicts in emerge's depgraph parsing when >>>>> PYTHON_TARGETS >>>>> includes python2_7 support. Remove that and stick with python3_* >>>>> only, then >>>>> other packages that need python2_7 will whine. >>>>> >>>>> Did setuptools-45.0.0 remove all python2 support? I looked at >>>>> the >>>>> commit >>>>> log, and it's only the title that any meaningful hint that it may >>>>> have, >>>>> "dev-python/setuptools: Bump to 45.0.0 (py3 only)". If it did, >>>>> then >>>>> that >>>>> change is the right change, but anyone with a userland that has a >>>>> mix >>>>> of >>>>> python2 and python3 is going to have difficulty getting that >>>>> update >>>>> to merge >>>>> in, so I really can't go higher than setuptools-44.0.0 for the >>>>> time >>>>> being. >>>>> >>>> >>>> https://setuptools.readthedocs.io/en/latest/history.html#v45-0-0 >>> >>> At least you didn't squirrel that behind a lmgtfy link >>> >>> In any event, it's clear the tree does not seem set up real well to >>> handle >>> the random removal or deprecation of python2 support. And >>> considering >>> python2.7 isn't dead //yet//, I have to question the wisdom of >>> removing >>> packages that still support 2.7, and also wonder if there's a way to >>> be more >>> graceful in handling updates to packages whose upstream decides to >>> remove >>> python2 support. >>> >>> Or we can just continue down the current Mad Max methodology and >>> leave it to >>> every developer for themselves. >>> >> >> Or - you know - you could help? Talk is cheap, gracefully removing py2 >> from the tree is the hard part. A quick grep tells me we have 4388 >> ebuilds in the tree with python_targets_python2_7 in IUSE. Have fun >> devising a plan (and then doing the actual work). Pro-tip: "Don't >> remove py2" is not an actual plan when many important core dependencies >> have started removing py2 already. > > Joshua and all, I am not on the python team either, but I want to drop > this link here for reference in case you haven't seen it. > > https://python3statement.org > > tl;dr: python 2.7 was actually deprecated in 2015 with support extended > to 2020-01-01 so folks would have time to transition off of it. All of > the upstreams on that list will be dropping support for python 2.7 this > year if they haven't already done so. > > Given that, I think it is going to be extremely difficult to keep py 2.7 > in the main tree. > > William That as it may be, I'm generally of the opinion that as long as there are still new releases, we should support it. Once the upstream releases stop, then remove it. For a normal package, this would be a complete non-issue, but Python is hardly a normal package. That said, if we don't have the manpower or the desire to maintain it, then I don't see a problem with removing it. I just wish emerge was better at handling the resulting slot/dependency conflicts that are arising as some packages get pulled and others updated with py3-only support. I am working now to remove the remaining py2 packages from my systems and then rebuild the python packages to only handle py3. The MIPS box is going to take its sweet time on that, though, but cest la vie... -- Joshua Kinard Gentoo/MIPS kumba@gentoo.org rsa6144/5C63F4E3F5C6C943 2015-04-27 177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943 "The past tempts us, the present confuses us, the future frightens us. And our lives slip away, moment by moment, lost in that vast, terrible in-between." --Emperor Turhan, Centauri Republic