NetBSD Problem Report #58155
From www@netbsd.org Tue Apr 16 02:25:47 2024
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))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id A649E1A9238
for <gnats-bugs@gnats.NetBSD.org>; Tue, 16 Apr 2024 02:25:47 +0000 (UTC)
Message-Id: <20240416022546.457DD1A923A@mollari.NetBSD.org>
Date: Tue, 16 Apr 2024 02:25:46 +0000 (UTC)
From: campbell+netbsd@mumble.net
Reply-To: campbell+netbsd@mumble.net
To: gnats-bugs@NetBSD.org
Subject: CONFLICTS doesn't work with multi-version packages
X-Send-Pr-Version: www-1.0
>Number: 58155
>Category: pkg
>Synopsis: CONFLICTS doesn't work with multi-version packages
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Apr 16 02:30:01 +0000 2024
>Closed-Date:
>Last-Modified: Thu Apr 18 13:45:02 +0000 2024
>Originator: Taylor R Campbell
>Release: current
>Organization:
The PkgsrcBSD Confliction
>Environment:
>Description:
devel/meson/Makefile has:
CONFLICTS= ${PYPKGPREFIX}-meson-[0-9]*
Presumably, this is meant to apply to all versions of the former py-meson package, _on all versions of Python_.
However, it is only expanded with PYPKGPREFIX for the version of Python that devel/meson is built with. So, e.g., in 2024Q1, we have:
$ pkg_info -f ./meson-1.4.0.tgz:
Information for meson-1.4.0.tgz:
Packing list:
CWD to: /pkg/2024Q1
Package conflicts with: py311-meson-[0-9]*
Package name: meson-1.4.0
...
That is, meson-1.4.0.tgz is not recorded to conflict with py310-meson-* or py312-meson-* -- just py311-meson-*.
>How-To-Repeat:
>Fix:
Yes, please!
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed
State-Changed-By: wiz@NetBSD.org
State-Changed-When: Tue, 16 Apr 2024 07:14:45 +0000
State-Changed-Why:
I've expanded the patterns manually.
In general, we have PYTHON_SELF_CONFLICT for this.
From: "Thomas Klausner" <wiz@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58155 CVS commit: pkgsrc/devel/meson
Date: Tue, 16 Apr 2024 07:14:18 +0000
Module Name: pkgsrc
Committed By: wiz
Date: Tue Apr 16 07:14:18 UTC 2024
Modified Files:
pkgsrc/devel/meson: Makefile
Log Message:
meson: expand CONFLICTS/SUPERSEDES
Addresses PR 58155.
To generate a diff of this commit:
cvs rdiff -u -r1.63 -r1.64 pkgsrc/devel/meson/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: Taylor R Campbell <riastradh@NetBSD.org>
To: Thomas Klausner <wiz@NetBSD.org>
Cc: gnats-bugs@NetBSD.org, pkg-manager@NetBSD.org, pkgsrc-bugs@NetBSD.org,
gnats-admin@NetBSD.org
Subject: Re: pkg/58155 (CONFLICTS doesn't work with multi-version packages)
Date: Tue, 16 Apr 2024 12:53:51 +0000
> Date: Tue, 16 Apr 2024 07:14:45 +0000 (UTC)
> From: wiz@NetBSD.org
>=20
> I've expanded the patterns manually.
>=20
> In general, we have PYTHON_SELF_CONFLICT for this.
We may have a lot more cases of this to address -- I just picked meson
as an example:
$ git grep 'CONFLICTS.*[$]'
audio/py-ao/Makefile:CONFLICTS=3D ${PYPKGPREFIX}-pyao-[0-9]*
audio/py-daap/Makefile:CONFLICTS=3D ${PYPKGPREFIX}-PythonDaap-[0-9]*
comms/py-serial/Makefile:CONFLICTS+=3D ${PYPKGPREFIX}-pyserial-[0-9]*
databases/phpmyadmin5/Makefile:CONFLICTS+=3D ${PHP_PKG_PREFIX}-phpmyadmin=
-4..*
databases/postgresql12/Makefile.common:CONFLICTS+=3D postgresql[2-9][0-9]-$=
{module}-[0-9]*
databases/postgresql13/Makefile.common:CONFLICTS+=3D postgresql[2-9][0-9]-$=
{module}-[0-9]*
databases/postgresql14/Makefile.common:CONFLICTS+=3D postgresql[2-9][0-9]-$=
{module}-[0-9]*
databases/postgresql15/Makefile.common:CONFLICTS+=3D postgresql[2-9][0-9]-$=
{module}-[0-9]*
databases/postgresql16/Makefile.common:CONFLICTS+=3D postgresql[2-9][0-9]-$=
{module}-[0-9]*
databases/py-pypika-tortoise/Makefile:CONFLICTS=3D ${PYPKGPREFIX}-pypika-[0=
-9]*
databases/py-pypika/Makefile:CONFLICTS=3D ${PYPKGPREFIX}-pypika-tortoise-[0=
-9]*
devel/lua-bit32/Makefile:CONFLICTS+=3D ${LUA_PKGPREFIX}-bitlib-[0-9]*
devel/meson/Makefile:CONFLICTS=3D ${PYPKGPREFIX}-meson-[0-9]*
devel/py-at-spi2/Makefile:CONFLICTS=3D ${PYPKGPREFIX}-at-spi-[0-9]*
devel/py-gobject/Makefile.common:CONFLICTS+=3D ${PYPKGPREFIX}-gtk2<2.8.4
devel/py-gobject3/Makefile.common:CONFLICTS+=3D ${PYPKGPREFIX}-gtk2<2.8.4
devel/py-gobject3/Makefile.common:CONFLICTS+=3D ${PYPKGPREFIX}-gobject<2.28=
.6nb4
devel/ruby-pkg-config/Makefile:CONFLICTS+=3D ${RUBY_PKGPREFIX}-gnome2-glib<=
0.90.0
editors/emacs-snapshot/modules.mk:_EMACS_CONFLICTS.emacs=3D xemacs-${PKGBA=
SE}-[0-9]*
editors/emacs-snapshot/modules.mk:_EMACS_CONFLICTS.xemacs=3D ${PKGBASE:C|^x=
emacs-||}-[0-9]*
editors/emacs-snapshot/modules.mk:CONFLICTS+=3D ${_EMACS_CONFLICTS.${_EMACS=
_FLAVOR}}
emulators/suse121_linux/Makefile.common:CONFLICTS:=3D ${CONFLICTS:S/^suse_=
/suse32_/}
emulators/suse131_linux/Makefile.common:CONFLICTS:=3D ${CONFLICTS:S/^suse_=
/suse32_/}
emulators/suse15_linux/Makefile.common:CONFLICTS:=3D ${CONFLICTS:S/^suse_/=
suse32_/}
games/colchess-book-large/Makefile:CONFLICTS=3D ${CHESS_ENGINE}-book-[0-9]*
games/exchess-book-medium/Makefile:CONFLICTS=3D ${CHESS_ENGINE}-book-small=
-[0-9]*
games/exchess-book-small/Makefile:CONFLICTS=3D ${CHESS_ENGINE}-book-medium=
-[0-9]*
graphics/py-Pillow/Makefile:CONFLICTS+=3D ${PYPKGPREFIX}-imaging-[0-9]*
graphics/py-Pillow6/Makefile:CONFLICTS+=3D ${PYPKGPREFIX}-imaging-[0-9]*
lang/lua/luaversion.mk:CONFLICTS+=3D ${PKGNAME:S/lua${_LUA_VERSION}/lua${v}=
/:C/-[0-9].*$/-[0-9]*/}
lang/python/pyversion.mk:CONFLICTS+=3D ${PKGNAME:S/py${_PYTHON_VERSION}/py$=
{i}/:C/-[0-9].*$/-[0-9]*/}
lang/python/pyversion.mk: CONFLICTS MULTI PLIST_VARS BUILDLINK_API_DEPENDS.=
${PYPACKAGE} \
lang/ruby-cucumber-gherkin/Makefile:CONFLICTS+=3D ${RUBY_PKGPREFIX}-gherkin=
-[0-9]*
math/py-roman/Makefile:CONFLICTS+=3D ${PYPKGPREFIX}-docutils<=3D0.7
mk/pkgformat/pkg/metadata.mk:_PKG_CREATE_ARGS+=3D ${"${CONFLICTS:M*}" !=3D =
"":?-C ${CONFLICTS:Q}:}
net/py-Socks/Makefile:CONFLICTS=3D ${PYPKGPREFIX}-SocksiPy-branch-[0-9]*
net/py-adns/Makefile:CONFLICTS=3D ${PYPKGPREFIX}-adns-python-[0-9]*
net/py-socksipy-branch/Makefile:CONFLICTS=3D ${PYPKGPREFIX}-Socks-[0-9]*
net/rabbiter/Makefile:CONFLICTS+=3D ${RUBY_PKGPREFIX}-rabbit<2.0.0
pkgtools/pkglint4/files/makevars.map:CONFLICTS InternalList of Dependency =
[$package_list]
security/passphrase/Makefile:CONFLICTS+=3D ${PYPKGPREFIX}-pyutil-[0-9]*
security/php-ssh2-0/Makefile:CONFLICTS=3D ${PHP_PKG_PREFIX}-${MODNAME}>=3D1=
.0
security/php-ssh2/Makefile:CONFLICTS=3D ${PHP_PKG_PREFIX}-${MODNAME}<1.0
textproc/py-gnosis-utils/Makefile:CONFLICTS+=3D ${PYPKGPREFIX}-Gnosis-Utils=
-[0-9]*
x11/py-gtk2/Makefile:CONFLICTS=3D ${PYPKGPREFIX}-gtk<0.6.10
From: Thomas Klausner <wiz@NetBSD.org>
To: NetBSD bugtracking <gnats-bugs@NetBSD.org>
Cc:
Subject: Re: pkg/58155 (CONFLICTS doesn't work with multi-version packages)
Date: Tue, 16 Apr 2024 15:02:47 +0200
On Tue, Apr 16, 2024 at 12:53:51PM +0000, Taylor R Campbell wrote:
> > Date: Tue, 16 Apr 2024 07:14:45 +0000 (UTC)
> > From: wiz@NetBSD.org
> >
> > I've expanded the patterns manually.
> >
> > In general, we have PYTHON_SELF_CONFLICT for this.
>
> We may have a lot more cases of this to address -- I just picked meson
> as an example:
> $ git grep 'CONFLICTS.*[$]'
I don't understand how you chose the regex.
> audio/py-ao/Makefile:CONFLICTS= ${PYPKGPREFIX}-pyao-[0-9]*
> audio/py-daap/Makefile:CONFLICTS= ${PYPKGPREFIX}-PythonDaap-[0-9]*
> comms/py-serial/Makefile:CONFLICTS+= ${PYPKGPREFIX}-pyserial-[0-9]*
> databases/py-pypika-tortoise/Makefile:CONFLICTS= ${PYPKGPREFIX}-pypika-[0-9]*
> databases/py-pypika/Makefile:CONFLICTS= ${PYPKGPREFIX}-pypika-tortoise-[0-9]*
> databases/phpmyadmin5/Makefile:CONFLICTS+= ${PHP_PKG_PREFIX}-phpmyadmin-4..*
> devel/lua-bit32/Makefile:CONFLICTS+= ${LUA_PKGPREFIX}-bitlib-[0-9]*
> devel/py-at-spi2/Makefile:CONFLICTS= ${PYPKGPREFIX}-at-spi-[0-9]*
> devel/py-gobject/Makefile.common:CONFLICTS+= ${PYPKGPREFIX}-gtk2<2.8.4
> devel/py-gobject3/Makefile.common:CONFLICTS+= ${PYPKGPREFIX}-gtk2<2.8.4
> devel/py-gobject3/Makefile.common:CONFLICTS+= ${PYPKGPREFIX}-gobject<2.28.6nb4
> devel/ruby-pkg-config/Makefile:CONFLICTS+= ${RUBY_PKGPREFIX}-gnome2-glib<0.90.0
> graphics/py-Pillow/Makefile:CONFLICTS+= ${PYPKGPREFIX}-imaging-[0-9]*
> graphics/py-Pillow6/Makefile:CONFLICTS+= ${PYPKGPREFIX}-imaging-[0-9]*
> lang/ruby-cucumber-gherkin/Makefile:CONFLICTS+= ${RUBY_PKGPREFIX}-gherkin-[0-9]*
> math/py-roman/Makefile:CONFLICTS+= ${PYPKGPREFIX}-docutils<=0.7
> net/py-Socks/Makefile:CONFLICTS= ${PYPKGPREFIX}-SocksiPy-branch-[0-9]*
> net/py-adns/Makefile:CONFLICTS= ${PYPKGPREFIX}-adns-python-[0-9]*
> net/py-socksipy-branch/Makefile:CONFLICTS= ${PYPKGPREFIX}-Socks-[0-9]*
> net/rabbiter/Makefile:CONFLICTS+= ${RUBY_PKGPREFIX}-rabbit<2.0.0
> security/passphrase/Makefile:CONFLICTS+= ${PYPKGPREFIX}-pyutil-[0-9]*
> security/php-ssh2-0/Makefile:CONFLICTS= ${PHP_PKG_PREFIX}-${MODNAME}>=1.0
> security/php-ssh2/Makefile:CONFLICTS= ${PHP_PKG_PREFIX}-${MODNAME}<1.0
> textproc/py-gnosis-utils/Makefile:CONFLICTS+= ${PYPKGPREFIX}-Gnosis-Utils-[0-9]*
> x11/py-gtk2/Makefile:CONFLICTS= ${PYPKGPREFIX}-gtk<0.6.10
These need manual expansion.
> databases/postgresql12/Makefile.common:CONFLICTS+= postgresql[2-9][0-9]-${module}-[0-9]*
> databases/postgresql13/Makefile.common:CONFLICTS+= postgresql[2-9][0-9]-${module}-[0-9]*
> databases/postgresql14/Makefile.common:CONFLICTS+= postgresql[2-9][0-9]-${module}-[0-9]*
> databases/postgresql15/Makefile.common:CONFLICTS+= postgresql[2-9][0-9]-${module}-[0-9]*
> databases/postgresql16/Makefile.common:CONFLICTS+= postgresql[2-9][0-9]-${module}-[0-9]*
> editors/emacs-snapshot/modules.mk:_EMACS_CONFLICTS.emacs= xemacs-${PKGBASE}-[0-9]*
> editors/emacs-snapshot/modules.mk:_EMACS_CONFLICTS.xemacs= ${PKGBASE:C|^xemacs-||}-[0-9]*
> editors/emacs-snapshot/modules.mk:CONFLICTS+= ${_EMACS_CONFLICTS.${_EMACS_FLAVOR}}
> emulators/suse121_linux/Makefile.common:CONFLICTS:= ${CONFLICTS:S/^suse_/suse32_/}
> emulators/suse131_linux/Makefile.common:CONFLICTS:= ${CONFLICTS:S/^suse_/suse32_/}
> emulators/suse15_linux/Makefile.common:CONFLICTS:= ${CONFLICTS:S/^suse_/suse32_/}
> games/colchess-book-large/Makefile:CONFLICTS= ${CHESS_ENGINE}-book-[0-9]*
> games/exchess-book-medium/Makefile:CONFLICTS= ${CHESS_ENGINE}-book-small-[0-9]*
> games/exchess-book-small/Makefile:CONFLICTS= ${CHESS_ENGINE}-book-medium-[0-9]*
These should work?
> devel/meson/Makefile:CONFLICTS= ${PYPKGPREFIX}-meson-[0-9]*
Fixed.
> lang/lua/luaversion.mk:CONFLICTS+= ${PKGNAME:S/lua${_LUA_VERSION}/lua${v}/:C/-[0-9].*$/-[0-9]*/}
No idea.
> lang/python/pyversion.mk:CONFLICTS+= ${PKGNAME:S/py${_PYTHON_VERSION}/py${i}/:C/-[0-9].*$/-[0-9]*/}
This is the code for PYTHON_SELF_CONFLICT.
> lang/python/pyversion.mk: CONFLICTS MULTI PLIST_VARS BUILDLINK_API_DEPENDS.${PYPACKAGE} \
> mk/pkgformat/pkg/metadata.mk:_PKG_CREATE_ARGS+= ${"${CONFLICTS:M*}" != "":?-C ${CONFLICTS:Q}:}
> pkgtools/pkglint4/files/makevars.map:CONFLICTS InternalList of Dependency [$package_list]
Misgrep.
Thomas
From: Taylor R Campbell <riastradh@NetBSD.org>
To: Thomas Klausner <wiz@NetBSD.org>
Cc: gnats-bugs@NetBSD.org, pkg-manager@NetBSD.org, gnats-admin@NetBSD.org,
pkgsrc-bugs@NetBSD.org
Subject: Re: pkg/58155 (CONFLICTS doesn't work with multi-version packages)
Date: Tue, 16 Apr 2024 13:53:00 +0000
> Date: Tue, 16 Apr 2024 13:05:01 +0000 (UTC)
> From: Thomas Klausner <wiz@NetBSD.org>
>
> On Tue, Apr 16, 2024 at 12:53:51PM +0000, Taylor R Campbell wrote:
> > We may have a lot more cases of this to address -- I just picked meson
> > as an example:
>
> > $ git grep 'CONFLICTS.*[$]'
>
> I don't understand how you chose the regex.
Just an approximation to find packages that might have multi-version
conflicts. As you saw, there are some false alarms too.
> > audio/py-ao/Makefile:CONFLICTS= ${PYPKGPREFIX}-pyao-[0-9]*
> > [...]
> > x11/py-gtk2/Makefile:CONFLICTS= ${PYPKGPREFIX}-gtk<0.6.10
>
> These need manual expansion.
You mean something like this?
CONFLICTS= py[0-9]*-pyao-[0-9]*
CONFLICTS= py[0-9]*-gtk<0.6.10
SGTM, if that works.
From: "Thomas Klausner" <wiz@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58155 CVS commit: pkgsrc
Date: Wed, 17 Apr 2024 10:38:36 +0000
Module Name: pkgsrc
Committed By: wiz
Date: Wed Apr 17 10:38:36 UTC 2024
Modified Files:
pkgsrc/audio/py-ao: Makefile
pkgsrc/audio/py-daap: Makefile
pkgsrc/comms/py-serial: Makefile
pkgsrc/databases/phpmyadmin5: Makefile
pkgsrc/databases/py-pypika: Makefile
pkgsrc/databases/py-pypika-tortoise: Makefile
pkgsrc/devel/lua-bit32: Makefile
pkgsrc/devel/py-at-spi2: Makefile
pkgsrc/devel/py-gobject: Makefile.common
pkgsrc/devel/py-gobject3: Makefile.common
pkgsrc/devel/ruby-pkg-config: Makefile
pkgsrc/graphics/py-Pillow: Makefile
pkgsrc/graphics/py-Pillow6: Makefile
pkgsrc/lang/ruby-cucumber-gherkin: Makefile
pkgsrc/math/py-roman: Makefile
pkgsrc/net/py-Socks: Makefile
pkgsrc/net/py-adns: Makefile
pkgsrc/net/py-socksipy-branch: Makefile
pkgsrc/net/rabbiter: Makefile
pkgsrc/security/passphrase: Makefile
pkgsrc/security/php-ssh2: Makefile
pkgsrc/security/php-ssh2-0: Makefile
pkgsrc/textproc/py-gnosis-utils: Makefile
pkgsrc/x11/py-gtk2: Makefile
Log Message:
*: fix some CONFLICTS lines
Noted by riastradh@ in PR 58155.
To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 pkgsrc/audio/py-ao/Makefile
cvs rdiff -u -r1.19 -r1.20 pkgsrc/audio/py-daap/Makefile
cvs rdiff -u -r1.11 -r1.12 pkgsrc/comms/py-serial/Makefile
cvs rdiff -u -r1.3 -r1.4 pkgsrc/databases/phpmyadmin5/Makefile
cvs rdiff -u -r1.25 -r1.26 pkgsrc/databases/py-pypika/Makefile
cvs rdiff -u -r1.1 -r1.2 pkgsrc/databases/py-pypika-tortoise/Makefile
cvs rdiff -u -r1.4 -r1.5 pkgsrc/devel/lua-bit32/Makefile
cvs rdiff -u -r1.31 -r1.32 pkgsrc/devel/py-at-spi2/Makefile
cvs rdiff -u -r1.22 -r1.23 pkgsrc/devel/py-gobject/Makefile.common
cvs rdiff -u -r1.19 -r1.20 pkgsrc/devel/py-gobject3/Makefile.common
cvs rdiff -u -r1.39 -r1.40 pkgsrc/devel/ruby-pkg-config/Makefile
cvs rdiff -u -r1.80 -r1.81 pkgsrc/graphics/py-Pillow/Makefile
cvs rdiff -u -r1.12 -r1.13 pkgsrc/graphics/py-Pillow6/Makefile
cvs rdiff -u -r1.8 -r1.9 pkgsrc/lang/ruby-cucumber-gherkin/Makefile
cvs rdiff -u -r1.16 -r1.17 pkgsrc/math/py-roman/Makefile
cvs rdiff -u -r1.7 -r1.8 pkgsrc/net/py-Socks/Makefile
cvs rdiff -u -r1.25 -r1.26 pkgsrc/net/py-adns/Makefile
cvs rdiff -u -r1.7 -r1.8 pkgsrc/net/py-socksipy-branch/Makefile
cvs rdiff -u -r1.15 -r1.16 pkgsrc/net/rabbiter/Makefile
cvs rdiff -u -r1.10 -r1.11 pkgsrc/security/passphrase/Makefile
cvs rdiff -u -r1.18 -r1.19 pkgsrc/security/php-ssh2/Makefile
cvs rdiff -u -r1.6 -r1.7 pkgsrc/security/php-ssh2-0/Makefile
cvs rdiff -u -r1.24 -r1.25 pkgsrc/textproc/py-gnosis-utils/Makefile
cvs rdiff -u -r1.143 -r1.144 pkgsrc/x11/py-gtk2/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: Thomas Klausner <wiz@NetBSD.org>
To: Taylor R Campbell <riastradh@NetBSD.org>
Cc: gnats-bugs@NetBSD.org
Subject: Re: pkg/58155 (CONFLICTS doesn't work with multi-version packages)
Date: Wed, 17 Apr 2024 12:40:07 +0200
On Tue, Apr 16, 2024 at 01:53:00PM +0000, Taylor R Campbell wrote:
> > Date: Tue, 16 Apr 2024 13:05:01 +0000 (UTC)
> > From: Thomas Klausner <wiz@NetBSD.org>
> >
> > On Tue, Apr 16, 2024 at 12:53:51PM +0000, Taylor R Campbell wrote:
> > > We may have a lot more cases of this to address -- I just picked meson
> > > as an example:
> >
> > > $ git grep 'CONFLICTS.*[$]'
> >
> > I don't understand how you chose the regex.
>
> Just an approximation to find packages that might have multi-version
> conflicts. As you saw, there are some false alarms too.
>
> > > audio/py-ao/Makefile:CONFLICTS= ${PYPKGPREFIX}-pyao-[0-9]*
> > > [...]
> > > x11/py-gtk2/Makefile:CONFLICTS= ${PYPKGPREFIX}-gtk<0.6.10
> >
> > These need manual expansion.
>
> You mean something like this?
>
> CONFLICTS= py[0-9]*-pyao-[0-9]*
> CONFLICTS= py[0-9]*-gtk<0.6.10
>
> SGTM, if that works.
Yes, these work (tested locally) and I've fixed the ones that needed it.
Thomas
From: Joerg Sonnenberger <joerg@bec.de>
To: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org,
campbell+netbsd@mumble.net, gnats-bugs@netbsd.org
Cc:
Subject: Re: pkg/58155 (CONFLICTS doesn't work with multi-version packages)
Date: Wed, 17 Apr 2024 13:48:35 +0200
This is a multi-part message in MIME format.
--nextPart2769309.vuYhMxLoTh
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
On Tuesday, April 16, 2024 3:55:01=E2=80=AFPM CEST Taylor R Campbell wrote:
> You mean something like this?
> =20
> CONFLICTS=3D py[0-9]*-pyao-[0-9]*
> CONFLICTS=3D py[0-9]*-gtk<0.6.10
> =20
> SGTM, if that works.
Do NOT mix fnmatch pattern with Dewey. It doesn't work like that.
Joerg
--nextPart2769309.vuYhMxLoTh
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="utf-8"
<html>
<head>
<meta http-equiv=3D"content-type" content=3D"text/html; charset=3DUTF-8">
</head>
<body><p style=3D"margin-top:0;margin-bottom:0;margin-left:0;margin-right:0=
;">On Tuesday, April 16, 2024 3:55:01=E2=80=AFPM CEST Taylor R Campbell wro=
te:</p>
<p style=3D"margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">>=
; You mean something like this?</p>
<p style=3D"margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">>=
; </p>
<p style=3D"margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">>=
; CONFLICTS=3D py[0-9]*-pyao-[0-=
9]*</p>
<p style=3D"margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">>=
; CONFLICTS=3D py[0-9]*-gtk<0=
=2E6.10</p>
<p style=3D"margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">>=
; </p>
<p style=3D"margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">>=
; SGTM, if that works.</p>
<br /><p style=3D"margin-top:0;margin-bottom:0;margin-left:0;margin-right:0=
;">Do NOT mix fnmatch pattern with Dewey. It doesn't work like that.</p>
<br /><p style=3D"margin-top:0;margin-bottom:0;margin-left:0;margin-right:0=
;">Joerg</p>
</body>
</html>
--nextPart2769309.vuYhMxLoTh--
State-Changed-From-To: closed->open
State-Changed-By: gutteridge@NetBSD.org
State-Changed-When: Thu, 18 Apr 2024 01:59:28 +0000
State-Changed-Why:
This isn't resolved, seems there's more to be done.
From: Benny Siegert <bsiegert@gmail.com>
To: Joerg Sonnenberger <joerg@bec.de>
Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org,
campbell+netbsd@mumble.net, gnats-bugs@netbsd.org
Subject: Re: pkg/58155 (CONFLICTS doesn't work with multi-version packages)
Date: Thu, 18 Apr 2024 09:34:03 +0200
> Do NOT mix fnmatch pattern with Dewey. It doesn't work like that.
How does it work? Please propose an alternative.
--
Benny
From: Jonathan Perkin <jperkin@mnx.io>
To: Benny Siegert <bsiegert@gmail.com>
Cc: Joerg Sonnenberger <joerg@bec.de>, pkg-manager@netbsd.org,
gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org,
campbell+netbsd@mumble.net, gnats-bugs@netbsd.org
Subject: Re: pkg/58155 (CONFLICTS doesn't work with multi-version packages)
Date: Thu, 18 Apr 2024 08:45:46 +0100
* On 2024-04-18 at 08:34 BST, Benny Siegert wrote:
>> Do NOT mix fnmatch pattern with Dewey. It doesn't work like that.
>
>How does it work? Please propose an alternative.
If you are using a dewey (sic) match then there is only one alternative,
you must specify a fully-formed PKGBASE.
I'd also like to point out that there are performance impacts when using
fnmatch as tools such as pkg_install and pkgin then have to traverse the
entire list of packages looking for matches, so it is always preferable
to specify a fully-formed PKGBASE where possible.
--
Jonathan Perkin - mnx.io - pkgsrc.smartos.org
Open Source Complete Cloud www.tritondatacenter.com
From: Thomas Klausner <wiz@gatalith.at>
To: NetBSD bugtracking <gnats-bugs@NetBSD.org>
Cc:
Subject: Re: pkg/58155 (CONFLICTS doesn't work with multi-version packages)
Date: Thu, 18 Apr 2024 09:55:59 +0200
Just for the record, I've fixed the CONFLICTS joerg referenced.
Thomas
From: Jonathan Perkin <jperkin@mnx.io>
To: Benny Siegert <bsiegert@gmail.com>
Cc: Joerg Sonnenberger <joerg@bec.de>, pkg-manager@netbsd.org,
gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org,
campbell+netbsd@mumble.net, gnats-bugs@netbsd.org
Subject: Re: pkg/58155 (CONFLICTS doesn't work with multi-version packages)
Date: Thu, 18 Apr 2024 08:54:24 +0100
Sorry, I also meant to add, one way to handle this would be for
pyversion.mk to provide a variable that lists all of the current known
versions of python for an alternate match, so something like:
PYTHON_VERSION_LIST= py27,py38,py39,py310,py311,py312
and then packages can use it like:
CONFLICTS+= {${PYTHON_VERSION_LIST}}-gtk<0.6.10
It's not pretty, and again would be less performant than listing them
all explicitly, but would be syntactically correct and avoid having to
update many many packages every time python versions change.
--
Jonathan Perkin - mnx.io - pkgsrc.smartos.org
Open Source Complete Cloud www.tritondatacenter.com
From: Jonathan Perkin <jperkin@mnx.io>
To: Benny Siegert <bsiegert@gmail.com>
Cc: Joerg Sonnenberger <joerg@bec.de>, pkg-manager@netbsd.org,
gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org,
campbell+netbsd@mumble.net, gnats-bugs@netbsd.org
Subject: Re: pkg/58155 (CONFLICTS doesn't work with multi-version packages)
Date: Thu, 18 Apr 2024 09:49:51 +0100
And, for completeness sake as there are complaints we're not being
helpful enough here, you can verify this yourselves using "pkg_admin
pmatch", for example:
Dewey match with fully-formed PKGBASE works:
$ pkg_admin pmatch 'py311-gtk<2.0' py311-gtk-0.9 && echo match || echo no match
match
fnmatch on both PKGBASE and PKGVERSION works:
$ pkg_admin pmatch 'py*-gtk-[0-9]*' py311-gtk-0.9 && echo match || echo no match
match
Dewey match with fnmatch in PKGBASE does NOT work:
$ pkg_admin pmatch 'py*-gtk<2.0' py311-gtk-0.9 && echo match || echo no match
no match
Dewey match with alternates in PKGBASE does work:
$ pkg_admin pmatch '{py27,py311}-gtk<2.0' py311-gtk-0.9 && echo match || echo no match
match
Hope that helps,
--
Jonathan Perkin - mnx.io - pkgsrc.smartos.org
Open Source Complete Cloud www.tritondatacenter.com
From: Thomas Klausner <wiz@gatalith.at>
To: NetBSD bugtracking <gnats-bugs@NetBSD.org>
Cc:
Subject: Re: pkg/58155: CONFLICTS doesn't work with multi-version packages
Date: Thu, 18 Apr 2024 15:42:54 +0200
--s7be3vZb+oI84mkW
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
I think after the attached commit all current problems are resolved.
Thomas
--s7be3vZb+oI84mkW
Content-Type: message/rfc822
Content-Disposition: inline
Return-Path: <bounces-pkgsrc-changes-owner-wiz=netbsd.org@NetBSD.org>
Delivered-To: wiz@gatalith.at
Received: from gatalith.at
by gatalith.at with LMTP
id XnlWBTe5H2bwFAAA4iLUCg
(envelope-from <bounces-pkgsrc-changes-owner-wiz=netbsd.org@NetBSD.org>)
for <wiz@gatalith.at>; Wed, 17 Apr 2024 13:57:43 +0200
Received: from mail.netbsd.org (mail.NetBSD.org [IPv6:2001:470:a085:999::25])
by gatalith.at (Postfix) with ESMTPS id 4A0EF39089C
for <wiz@gatalith.at>; Wed, 17 Apr 2024 13:57:42 +0200 (CEST)
Received: by mail.netbsd.org (Postfix)
id B493484EF0; Wed, 17 Apr 2024 11:57:39 +0000 (UTC)
Delivered-To: wiz@netbsd.org
Received: by mail.netbsd.org (Postfix, from userid 605)
id 36FC484EC4; Wed, 17 Apr 2024 11:57:39 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netbsd.org;
s=20240131; t=1713355059;
bh=vGg8Wn+uGdtDLpWx5RX4Vbl7/UqG8p9LSdV+vJ8wCWE=;
h=Date:From:Subject:To:Reply-To:List-Id:List-Unsubscribe;
b=bOPfIuZOO8FuyARKKsW/0dMYsD8XU7XX7pEdr9e2VdXt7mL/seCZ4CqysZbNhY+6D
+sA4ni0JSHDptC9d5uz8V9qE1znpkfdZAkB1c4uKzHQaDqrBG69uozv7jKsaEJYgG0
NPqg2AFeYO6LWbwyTmfc8PqV5lXgdQjtoc7oCDls=
Delivered-To: pkgsrc-changes@NetBSD.org
Received: from localhost (localhost [127.0.0.1])
by mail.netbsd.org (Postfix) with ESMTP id 23AB584EC3
for <pkgsrc-changes@NetBSD.org>; Wed, 17 Apr 2024 11:57:38 +0000 (UTC)
X-Virus-Scanned: amavisd-new at netbsd.org
Authentication-Results: mail.netbsd.org (amavisd-new);
dkim=pass (1024-bit key) header.d=netbsd.org
Received: from mail.netbsd.org ([127.0.0.1])
by localhost (mail.netbsd.org [127.0.0.1]) (amavisd-new, port 10025)
with ESMTP id s4f4ksEC0evL for <pkgsrc-changes@netbsd.org>;
Wed, 17 Apr 2024 11:57:37 +0000 (UTC)
Received: from cvs.NetBSD.org (ivanova.netbsd.org [199.233.217.197])
by mail.netbsd.org (Postfix) with ESMTP id 378DB84D01
for <pkgsrc-changes@NetBSD.org>; Wed, 17 Apr 2024 11:57:37 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netbsd.org;
s=20240131; t=1713355057;
bh=vGg8Wn+uGdtDLpWx5RX4Vbl7/UqG8p9LSdV+vJ8wCWE=;
h=Date:From:Subject:To:Reply-To;
b=aUpP/oyHJPTWmMvHGWauB/7X2A/kct09570USZ/swfld3z8/9dFm8Up57VBln44w8
t9I+DFEJDKMKlVhYTkcCG7jLGimuv6OrF+5yg4t3qOV7A6R6FAeYfh5gABQ14sABsT
izpfUxi7Pf9QGEqkyT2HgyU2kcK0yqKSYB55QD14=
Received: by cvs.NetBSD.org (Postfix, from userid 500)
id 28DB2FA2C; Wed, 17 Apr 2024 11:57:37 +0000 (UTC)
Content-Transfer-Encoding: 7bit
Content-Type: multipart/mixed; boundary="_----------=_1713355057108570"
MIME-Version: 1.0
Date: Wed, 17 Apr 2024 11:57:37 +0000
From: "Thomas Klausner" <wiz@netbsd.org>
Subject: CVS commit: pkgsrc
To: pkgsrc-changes@NetBSD.org
Reply-To: wiz@netbsd.org
X-Mailer: log_accum
Message-Id: <20240417115737.28DB2FA2C@cvs.NetBSD.org>
Sender: pkgsrc-changes-owner@NetBSD.org
List-Id: <pkgsrc-changes.NetBSD.org>
Precedence: bulk
List-Unsubscribe: <mailto:majordomo@NetBSD.org?subject=Unsubscribe%20pkgsrc-changes&body=unsubscribe%20pkgsrc-changes>
This is a multi-part message in MIME format.
--_----------=_1713355057108570
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="US-ASCII"
Module Name: pkgsrc
Committed By: wiz
Date: Wed Apr 17 11:57:37 UTC 2024
Modified Files:
pkgsrc/devel/py-gobject: Makefile.common
pkgsrc/devel/py-gobject3: Makefile.common
pkgsrc/devel/ruby-pkg-config: Makefile
pkgsrc/math/py-roman: Makefile
pkgsrc/net/rabbiter: Makefile
pkgsrc/x11/py-gtk2: Makefile
Log Message:
*: fix some CONFLICTS
Remove some that are for packages more than ten year old,
fix rest.
To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 pkgsrc/devel/py-gobject/Makefile.common
cvs rdiff -u -r1.20 -r1.21 pkgsrc/devel/py-gobject3/Makefile.common
cvs rdiff -u -r1.40 -r1.41 pkgsrc/devel/ruby-pkg-config/Makefile
cvs rdiff -u -r1.17 -r1.18 pkgsrc/math/py-roman/Makefile
cvs rdiff -u -r1.16 -r1.17 pkgsrc/net/rabbiter/Makefile
cvs rdiff -u -r1.144 -r1.145 pkgsrc/x11/py-gtk2/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
--_----------=_1713355057108570
Content-Disposition: inline
Content-Length: 4341
Content-Transfer-Encoding: binary
Content-Type: text/x-diff; charset=us-ascii
Modified files:
Index: pkgsrc/devel/py-gobject/Makefile.common
diff -u pkgsrc/devel/py-gobject/Makefile.common:1.23 pkgsrc/devel/py-gobject/Makefile.common:1.24
--- pkgsrc/devel/py-gobject/Makefile.common:1.23 Wed Apr 17 10:38:34 2024
+++ pkgsrc/devel/py-gobject/Makefile.common Wed Apr 17 11:57:36 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.common,v 1.23 2024/04/17 10:38:34 wiz Exp $
+# $NetBSD: Makefile.common,v 1.24 2024/04/17 11:57:36 wiz Exp $
#
# used by devel/py-gobject/Makefile
# used by devel/py-gobject-shared/Makefile
@@ -25,4 +25,4 @@ DISTINFO_FILE= ${.CURDIR}/../../devel/p
PKGCONFIG_OVERRIDE+= pygobject-2.0.pc.in
PY_PATCHPLIST= yes
-CONFLICTS+= py[0-9]*-gtk2<2.8.4
+CONFLICTS+= py27-gtk2<2.8.4
Index: pkgsrc/devel/py-gobject3/Makefile.common
diff -u pkgsrc/devel/py-gobject3/Makefile.common:1.20 pkgsrc/devel/py-gobject3/Makefile.common:1.21
--- pkgsrc/devel/py-gobject3/Makefile.common:1.20 Wed Apr 17 10:38:34 2024
+++ pkgsrc/devel/py-gobject3/Makefile.common Wed Apr 17 11:57:36 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.common,v 1.20 2024/04/17 10:38:34 wiz Exp $
+# $NetBSD: Makefile.common,v 1.21 2024/04/17 11:57:36 wiz Exp $
# used by devel/py-gobject3/Makefile
# used by devel/py-gobject3-common/Makefile
@@ -17,5 +17,5 @@ USE_TOOLS+= pkg-config
DISTINFO_FILE= ../../devel/py-gobject3/distinfo
#PATCHDIR= ../../devel/py-gobject3/patches
-CONFLICTS+= py[0-9]*-gtk2<2.8.4
-CONFLICTS+= py[0-9]*-gobject<2.28.6nb4
+CONFLICTS+= py27-gtk2<2.8.4
+CONFLICTS+= py27-gobject<2.28.6nb4
Index: pkgsrc/devel/ruby-pkg-config/Makefile
diff -u pkgsrc/devel/ruby-pkg-config/Makefile:1.40 pkgsrc/devel/ruby-pkg-config/Makefile:1.41
--- pkgsrc/devel/ruby-pkg-config/Makefile:1.40 Wed Apr 17 10:38:34 2024
+++ pkgsrc/devel/ruby-pkg-config/Makefile Wed Apr 17 11:57:36 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.40 2024/04/17 10:38:34 wiz Exp $
+# $NetBSD: Makefile,v 1.41 2024/04/17 11:57:36 wiz Exp $
DISTNAME= pkg-config-1.5.6
CATEGORIES= devel
@@ -8,8 +8,6 @@ HOMEPAGE= https://github.com/ruby-gnome/
COMMENT= Pure Ruby implementation of pkg-config
LICENSE= gnu-lgpl-v2.1
-CONFLICTS+= ruby[0-9]*-gnome2-glib<0.90.0
-
USE_LANGUAGES= # none
CONFIGURE_ARGS+= --siteruby=${PREFIX}/${RUBY_VENDORLIB_BASE} \
Index: pkgsrc/math/py-roman/Makefile
diff -u pkgsrc/math/py-roman/Makefile:1.17 pkgsrc/math/py-roman/Makefile:1.18
--- pkgsrc/math/py-roman/Makefile:1.17 Wed Apr 17 10:38:35 2024
+++ pkgsrc/math/py-roman/Makefile Wed Apr 17 11:57:36 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.17 2024/04/17 10:38:35 wiz Exp $
+# $NetBSD: Makefile,v 1.18 2024/04/17 11:57:36 wiz Exp $
DISTNAME= roman-4.1
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
@@ -10,8 +10,6 @@ HOMEPAGE= https://github.com/zopefoundat
COMMENT= Integer to Roman numerals converter for Python
LICENSE= zpl-2.1
-CONFLICTS+= py[0-9]*-docutils<=0.7
-
USE_LANGUAGES= # none
PYTHON_VERSIONS_INCOMPATIBLE= 27
Index: pkgsrc/net/rabbiter/Makefile
diff -u pkgsrc/net/rabbiter/Makefile:1.16 pkgsrc/net/rabbiter/Makefile:1.17
--- pkgsrc/net/rabbiter/Makefile:1.16 Wed Apr 17 10:38:35 2024
+++ pkgsrc/net/rabbiter/Makefile Wed Apr 17 11:57:36 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.16 2024/04/17 10:38:35 wiz Exp $
+# $NetBSD: Makefile,v 1.17 2024/04/17 11:57:36 wiz Exp $
DISTNAME= rabbiter-2.0.1
PKGREVISION= 2
@@ -15,8 +15,6 @@ DEPENDS+= ${RUBY_PKGPREFIX}-rabbit>=2.0.
DEPENDS+= ${RUBY_PKGPREFIX}-twitter_oauth-[0-9]*:../../security/ruby-twitter_oauth
DEPENDS+= ${RUBY_PKGPREFIX}-twitter-stream>=0.1.16:../../net/ruby-twitter-stream
-CONFLICTS+= ruby[0-9]*-rabbit<2.0.0
-
USE_RUBY_SETUP= yes
USE_RUBY_SETUP_PKG= yes
Index: pkgsrc/x11/py-gtk2/Makefile
diff -u pkgsrc/x11/py-gtk2/Makefile:1.144 pkgsrc/x11/py-gtk2/Makefile:1.145
--- pkgsrc/x11/py-gtk2/Makefile:1.144 Wed Apr 17 10:38:36 2024
+++ pkgsrc/x11/py-gtk2/Makefile Wed Apr 17 11:57:36 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.144 2024/04/17 10:38:36 wiz Exp $
+# $NetBSD: Makefile,v 1.145 2024/04/17 11:57:36 wiz Exp $
DISTNAME= pygtk-2.24.0
PKGNAME= ${PYPKGPREFIX}-${DISTNAME:S/pygtk/gtk2/}
@@ -12,7 +12,7 @@ HOMEPAGE= http://www.pygtk.org/
COMMENT= Python bindings for GTK+2
LICENSE= gnu-lgpl-v2.1
-CONFLICTS= py[0-9]*-gtk<0.6.10
+CONFLICTS= py27-gtk<0.6.10
# IOError: [Errno 2] No such file or directory: 'gtk-types.defs'
MAKE_JOBS_SAFE= no
--_----------=_1713355057108570--
--s7be3vZb+oI84mkW--
>Unformatted:
(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-2024
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.