From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lucy.dinwoodie.org (77.116.2.81.in-addr.arpa [81.2.116.77]) by sourceware.org (Postfix) with ESMTPS id 3CF123858408 for ; Wed, 16 Feb 2022 11:11:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3CF123858408 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=dinwoodie.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=dinwoodie.org Received: from adam by lucy.dinwoodie.org with local (Exim 4.94.2) (envelope-from ) id 1nKID5-0006C3-MY for cygwin@cygwin.com; Wed, 16 Feb 2022 11:10:59 +0000 Date: Wed, 16 Feb 2022 11:10:59 +0000 From: Adam Dinwoodie To: cygwin@cygwin.com Subject: Inconsistent handling of python3-module vs python3x-module packages Message-ID: <20220216111059.ve7myugtwi7bjggb@lucy.dinwoodie.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-0.7 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, PDS_RDNS_DYNAMIC_FP, RDNS_DYNAMIC, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Feb 2022 11:11:03 -0000 While wrangling a bunch of Python packages for my Cygwin installation, I've noticed an inconsistency about how python3 vs python3x packages are installed. As an example: the python3 package itself describes itself as a meta-package; the package itself is almost empty, and the key thing selecting the package does is depend on the latest python3x package, currently python39. The same behaviour is in place with, for example, python3-tkinter. However the python3-pytest package is marked as obsolete, and is obsoleted by python36-pytest. If I select python3-pytest for installation, the package that's actually installed is python36-pytest, even though there's a python39-pytest package available. This inconsistency means that someone naively installing python3-tkinter and python3-pytest will end up with both python3.9 and python3.6 installed, with neither installation having access to both the pytest and tkinter modules. I think this inconsistency is liable to cause confusion; it certainly confused me until I worked out what was going on. In my ideal world, we'd be in a situation where I could specify `python3-foo` to an install script and it'd automatically pick up the latest Python version available; I could specify `python3x-foo` if I wanted a specific older release. But at the very least, I'd really like to see these packages being handled consistently one way or another. Adam