NetBSD Problem Report #59204

From www@netbsd.org  Sat Mar 22 03:43:27 2025
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256
	 client-signature RSA-PSS (2048 bits) client-digest SHA256)
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 6D9C31A9239
	for <gnats-bugs@gnats.NetBSD.org>; Sat, 22 Mar 2025 03:43:27 +0000 (UTC)
Message-Id: <20250322034325.C399C1A923D@mollari.NetBSD.org>
Date: Sat, 22 Mar 2025 03:43:25 +0000 (UTC)
From: campbell+netbsd@mumble.net
Reply-To: campbell+netbsd@mumble.net
To: gnats-bugs@NetBSD.org
Subject: package upgrades can't handle python upgrades
X-Send-Pr-Version: www-1.0

>Number:         59204
>Category:       pkg
>Synopsis:       package upgrades can't handle python upgrades
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Mar 22 03:45:00 +0000 2025
>Last-Modified:  Tue Mar 25 13:15:24 +0000 2025
>Originator:     Taylor R Campbell
>Release:        netbsd-9, pkgsrc-stable
>Organization:
The NetBSD311^W312 Foundation
>Environment:
>Description:
I installed a few packages from the TNF binary package repository a while ago on a VPS.  I went to upgrade them to keep it up-to-date, but the upgrade cannot be done automatically:

# pkgin show-keep
git-2.45.2           GIT version control suite meta-package
mercurial-6.7.4      Fast, lightweight source control management system (meta package)
py311-hg-evolve-11.1.3 Experimental Mercurial extensions from Facebook
py311-hg-git-1.1.2   Push to and pull from a Git server repository using Mercurial
# pkgin up
...
# pkgin ug
calculating dependencies...done.
py312-mercurial-6.9 (to be installed) conflicts with installed package py311-mercurial-6.7.4.
proceed ? [y/N] 

In part this is because py311-hg-evolve depends on py311-mercurial and py311-mercurial installs bin/hg rather than bin/hg-3.11 with pkg_alternatives.  But in part this is also because I have no way to say `please install py3*-hg-evolve, whatever is appropriate for the default Python version'.
>How-To-Repeat:
1. install py311-foo and a non-py311 package that depends on py311-foo
2. pkgin up && pkgin ug
>Fix:
Yes, please!

Random idea: In addition to creating packages called py311-foo, py312-foo, &c., from devel/py-foo, also create a package py3x-foo which depends on whatever is the default Python version.  Then users can install py3x-foo if they don't care py311-foo vs py312-foo but just want whatever TNF picked as the default for binary packages.

>Release-Note:

>Audit-Trail:

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2025 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.