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:

NetBSD Home
NetBSD PR Database Search

(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.