From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by sourceware.org (Postfix) with ESMTP id 28A8A385E015 for ; Thu, 26 Mar 2020 07:19:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 28A8A385E015 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=cygwin.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=yselkowitz@cygwin.com Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-461-0cIMrh2ZMY-G1jKMdbMZdA-1; Thu, 26 Mar 2020 03:19:30 -0400 X-MC-Unique: 0cIMrh2ZMY-G1jKMdbMZdA-1 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 47981107ACC4 for ; Thu, 26 Mar 2020 07:19:29 +0000 (UTC) Received: from ovpn-112-56.rdu2.redhat.com (ovpn-112-56.rdu2.redhat.com [10.10.112.56]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E1E5BA0A99 for ; Thu, 26 Mar 2020 07:19:28 +0000 (UTC) Message-ID: Subject: Re: Putting packages up for adoption From: Yaakov Selkowitz To: cygwin-apps@cygwin.com Date: Thu, 26 Mar 2020 03:19:27 -0400 In-Reply-To: <8de4bc18-86d2-4f3b-e2c4-8d1cd5792a23@gmail.com> References: <8de4bc18-86d2-4f3b-e2c4-8d1cd5792a23@gmail.com> User-Agent: Evolution 3.34.4 (3.34.4-1.fc31) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: cygwin.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NEUTRAL, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin-apps@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin package maintainer discussion list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Mar 2020 07:19:35 -0000 On Thu, 2020-03-26 at 06:54 +0100, Marco Atzeri via Cygwin-apps wrote: > Am 20.03.2020 um 04:47 schrieb Yaakov Selkowitz: > > To that end, in the best interest of the community, please consider my > > packages up for adoption. I don't expect that any one person will take > > all of them; some are obsolete and due for removal anyway, some should > > be picked up as soon as possible, and others might just end up > > bitrotting if nobody is interested in them. However, in whatever there > > is interest (or need), hopefully what is there now will serve as a > > strong foundation to on which to continue to build. >=20 > I am considering to take over python, and I am building 2.7.17 and 3.8.2 > to see how complicate it is. >=20 > One question on the cygport >=20 > # see PEP 394 > dosym python${slot}.exe /usr/bin/python > dosym python${slot}.exe /usr/bin/python2 >=20 > do you see any problem to use alternatives for the same scope ? The reason I avoided using alternatives for this was consistency.=20 Since we don't build our packages in a clean (ch)root, if a maintainer had such created such symlinks themselves, and they were to be picked up during a build (very likely), or simply relied upon by scripts which typically hardcode a generic version (very common), it would lead to a package which would not run identically, or possibly not at all, on other users' systems. I would discourage using alternatives here. Of course, in the meantime, the Python world has moved very strongly to 3.x, to the point that upstream has dropped it, Fedora has mostly deprecated it, and /usr/bin/python is now a symlink to python3 provided by a separate package. However wrt Python 2, the only version we care about at this point is 2.7, and while it's lifespan is limited, it is still needed. I would suggest the following: * python2-2.7.z continues to provide all '2' symlinks. * python38 be updated to 3.8.2, and 3.8 be designated the next default 'python3' version (with the '3' symlinks continued to be kept separate), and adjust python-wheel.cygclass accordingly. * Similarly, a separate package (in Fedora it's called 'python- unversioned-command') provide unversioned symlinks, pointing to 2.7 for now (for compatibility). * Anything currently dependent on 'python' or 'python2' should either be dropped if no longer needed, switched to 3 is possible, otherwise rebuilt. * Drop 2.7 from the "default" version set in python-wheel.cygclass, and only build those modules that are actually needed by other things by specifying "all". * Once that's done, look at what's still depending on /usr/bin/python ('python-unversioned-command'), and based on that decide when that can be changed to point to python3. HTH, -- Yaakov