X-Recipient: archive-cygwin@delorie.com
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
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
Date: Wed, 16 Feb 2022 11:10:59 +0000
From: Adam Dinwoodie <adam@dinwoodie.org>
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-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
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie.com@cygwin.com>

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

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple
