NetBSD Problem Report #41741

From kre@munnari.OZ.AU  Thu Jul 16 12:22:03 2009
Return-Path: <kre@munnari.OZ.AU>
Received: from ( [])
	by (Postfix) with ESMTP id 847D563B883
	for <>; Thu, 16 Jul 2009 12:22:03 +0000 (UTC)
Message-Id: <>
Date: Thu, 16 Jul 2009 19:21:55 +0700 (ICT)
From: kre@munnari.OZ.AU
Subject: mk/ could be smarter (can cause apr conflict)
X-Send-Pr-Version: 3.95

>Number:         41741
>Category:       pkg
>Synopsis:       mk/ could be smarter (can cause apr conflict)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          closed
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Thu Jul 16 12:25:00 +0000 2009
>Closed-Date:    Thu Jun 18 07:12:39 +0000 2015
>Last-Modified:  Thu Jun 18 07:12:39 +0000 2015
>Originator:     Robert Elz
>Release:        NetBSD 4.0_STABLE
	Prince of Songkla University
System: NetBSD 4.0_STABLE NetBSD 4.0_STABLE (JADE-1.696-20080517) #9: Fri May 23 18:55:13 ICT 2008 i386
Architecture: i386
Machine: i386
	pkgsrc/mk/ attempts to work out which version of
	apache is installed, so that one can be used as a dependency
	for other packages that just need any (or almost any) apache.
	That's fine.

	If no apache is used, then either a pkg specified, or
	global default (apache22) is used, and that apache is
	installed (built if needed).   That's almost all fine.

	Then, if requested, the appropriate apr version is installed
	as well (added to the dependency list, which causes it to
	be installed).

	There's one problem case left - that's where no apache is
	installed, but apr is installed, and the apr that's there
	is not the one that patches PKG_APACHE_DEFAULT - in particular,
	as part of the process of attempting to get ganglia built,
	I started with an empty pkg_comp arena - that always resulted in
	apache22 and apr (apr1) getting installed, which conflicts
	with a pkg requirement for apr0 - so I cleaned the arena again,
	installed apr0 manually, then retried the build of ganglia
	(www/ganglia-webfrontend to be precise) - that needs apache,
	no apache was installed, so apache22 was added as a dependency,
	that caused www/apr to be required, which immediately conflicted
	with the apr0 that was installed, and must be for this (apaprently).

	After finding no installed apache, before just setting upon
	PKG_APACHE_DEFAULT mk/apache could look to see if either ww/apr
	or www/apr0 is installed, and if so, select the corresponding
	apache version (apache22 or apache2 resp).   I think that should
	be fairly easy to do.

	Using pkg_comp is far and away the easy method to provoke
	this - just start with an empty arena (particularly, no
	apache related or using packages installed) manually add
	(or build) www/apr0 then try building www/ganglia-webfrontend
	(or anything else that requires an apache).  It will fail
	with an apr version conflict (quite quickly).

	Best fix would be to add a test for installed apr versions
	to mk/ if no installed apache is located.

	A fairly easy workaround is just to manually install the
	required version of apache (as well as, or possibly instead of, apr)

	If the maintainers of mk/ don't think the apr test is
	a good idea, or isn't worth adding, please just close this PR,
	don't leave it dangling open but destined to be ignored forever...

	It would probably also be a good idea for www/ganglia-webfrontend
	to explicitly request apache2 (make that be the only acceptable
	version) as there is an explicit requirement on apr0 (which
	comes via parallel/ganglia-monitor-core) and the "any apache"
	that www/ganglia-webfrontend currently requests just cannot work.



State-Changed-From-To: open->closed
State-Changed-When: Thu, 18 Jun 2015 07:12:39 +0000
apr0 was moved to the bit bucket quite a while ago and this no longer arises.


NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD:,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.