NetBSD Problem Report #45644
From www@NetBSD.org Tue Nov 22 23:37:01 2011
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by www.NetBSD.org (Postfix) with ESMTP id 64FA063D80E
for <gnats-bugs@gnats.NetBSD.org>; Tue, 22 Nov 2011 23:37:01 +0000 (UTC)
Message-Id: <20111122233700.C87BF63C3D5@www.NetBSD.org>
Date: Tue, 22 Nov 2011 23:37:00 +0000 (UTC)
From: marino@netbsd.org
Reply-To: marino@netbsd.org
To: gnats-bugs@NetBSD.org
Subject: audio/mpg123 and audio/mpg123-oss have conflicting PLIST
X-Send-Pr-Version: www-1.0
>Number: 45644
>Category: pkg
>Synopsis: audio/mpg123 and audio/mpg123-oss have conflicting PLIST
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: martin
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Nov 22 23:40:00 +0000 2011
>Last-Modified: Wed Nov 23 11:00:04 +0000 2011
>Originator: John Marino
>Release:
>Organization:
>Environment:
DragonFly 2.13
>Description:
While building mpg123-oss package, I get this error:
433 ===> Building binary package for mpg123-oss-1.12.5nb1
434 => Creating binary package /tmp/packages/All/mpg123-oss-1.12.5nb1.tgz
435 ===> Install binary package of mpg123-oss-1.12.5nb1
436 pkg_add: Conflicting PLIST with mpg123-1.12.5nb1: lib/mpg123/output_oss.la
437 pkg_add: 1 package addition failed
438 *** Error code 1
439
440 Stop.
441 bmake: stopped in /usr/pkgsrc/audio/mpg123-oss
The mpg123-oss PLIST is short:
lib/mpg123/output_oss.la
The mpg123 PLIST is longer, with this interesting entry:
${PLIST.oss}lib/mpg123/output_oss.la
>How-To-Repeat:
>Fix:
No idea. Is this intentional or an oversight?
Why does mpg123-oss exist if the same library is available with mpg123.
Should the former be removed?
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: pkg-manager->martin
Responsible-Changed-By: marino@NetBSD.org
Responsible-Changed-When: Tue, 22 Nov 2011 23:46:02 +0000
Responsible-Changed-Why:
Over to maintainer.
From: John Marino <marino@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: pkg/45644 (audio/mpg123 and audio/mpg123-oss have conflicting
PLIST)
Date: Wed, 23 Nov 2011 00:49:07 +0100
It appears there's potential for the same conflict between audio/mpg123
and audio/mpg123-sun.
DragonFly doesn't have support for "sun" so this didn't get detected.
From: Martin Husemann <martin@duskware.de>
To: gnats-bugs@NetBSD.org
Cc: martin@NetBSD.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org,
marino@netbsd.org
Subject: Re: pkg/45644 (audio/mpg123 and audio/mpg123-oss have conflicting PLIST)
Date: Wed, 23 Nov 2011 10:19:13 +0100
On Tue, Nov 22, 2011 at 11:50:04PM +0000, John Marino wrote:
> It appears there's potential for the same conflict between audio/mpg123
> and audio/mpg123-sun.
> DragonFly doesn't have support for "sun" so this didn't get detected.
I don't understand what the problem is - mpg123-sun is marked
NOT_FOR_PLATFORM for the same platforms where mpg123 would build with
default "sun" module.
I'm also open for suggestion how to solve the mess better ;-)
Martin
From: John Marino <netbsd@marino.st>
To: gnats-bugs@NetBSD.org
Cc: Martin Husemann <martin@duskware.de>
Subject: Re: pkg/45644 (audio/mpg123 and audio/mpg123-oss have conflicting
PLIST)
Date: Wed, 23 Nov 2011 11:35:02 +0100
On 11/23/2011 10:20 AM, Martin Husemann wrote:
> From: Martin Husemann <martin@duskware.de>
>
> On Tue, Nov 22, 2011 at 11:50:04PM +0000, John Marino wrote:
> > It appears there's potential for the same conflict between audio/mpg123
> > and audio/mpg123-sun.
> > DragonFly doesn't have support for "sun" so this didn't get detected.
>
> I don't understand what the problem is - mpg123-sun is marked
> NOT_FOR_PLATFORM for the same platforms where mpg123 would build with
> default "sun" module.
>
> I'm also open for suggestion how to solve the mess better ;-)
>
> Martin
>
Don't get hung on the "sun" modules. I was only speculating that the
same situation could exist there for other platforms, but currently
DragonFly can't build either mpg123 with sun, nor mpg123-sun.
What I am seeing is both mpg123 and mpg123-oss getting built, and the
latter unable to complete due to the PLIST conflict.
My suggestion for solving the mess is just remove mpg123-oss and
mpg123-sun if they aren't providing anything more that mpg123 with those
options enabled. Having multiple similar packages switched on and off
with "NOT-FOR-PLATFORM" seems like an abuse of the functionality. We
interpret NOT-FOR-PLATFORM to mean that the package can not be built on
the platform with a reasonably amount of work, or it's a binary built
for another platform. We typically prefer that the package breaks
rather than mark NOT-FOR-PLATFORM when it's fixable.
That's sort of separate topic, but since I am not familiar with these
mpg123 packages all I can say is that on the sutface is they seem
similar and therefore should be consolidated. However, I don't know the
history of why multiple versions exist to begin with.
John
From: Martin Husemann <martin@duskware.de>
To: John Marino <netbsd@marino.st>
Cc: gnats-bugs@NetBSD.org
Subject: Re: pkg/45644 (audio/mpg123 and audio/mpg123-oss have conflicting PLIST)
Date: Wed, 23 Nov 2011 11:55:45 +0100
On Wed, Nov 23, 2011 at 11:35:02AM +0100, John Marino wrote:
> That's sort of separate topic, but since I am not familiar with these
> mpg123 packages all I can say is that on the sutface is they seem
> similar and therefore should be consolidated. However, I don't know the
> history of why multiple versions exist to begin with.
The mpg123 issue is more tricky: the "sun" or "oss" modules are just that,
modules that get build (or not). They install separate shared libraries.
The ideal solution would be to build mpg123 itself without any module, and
supply the modules as separate packages.
However, if you do that, mpg123 gets build with (so to say) /dev/null as
default output. It still works if you explicitly specify the output method,
but users are used to just call "mpg123 music.mp3", and not getting any
sound from that is a non starter.
So the idea was to pick a proper default module and "build that in" the
main pkg. This way the upstream configure magic picks it up and
compiles it in as the default. The installed files are still separate
(i.e. the "oss" module is a separate shared library dlopened at
runtime), but the mpg123 executable has the name of that module
compiled in.
Thinking of it, we should probably patch the configure script, pass the
name of the default module from the pkgsrc makefile to the configure
script, but not build the module in the main pkg. Instead, depend on a
separate pkg providing the module.
E.g. on NetBSD mpg123 would build without any modules but depend on mpg123-sun
and have "sun" as compiled-in default output method name.
If you want to look at the configure stuff, please feel free - I'm not sure
when I would get around to it.
Martin
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.