pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/41741: mk/apache.mk could be smarter (can cause apr conflict)
>Number: 41741
>Category: pkg
>Synopsis: mk/apache.mk could be smarter (can cause apr conflict)
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: pkg-manager
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Thu Jul 16 12:25:00 +0000 2009
>Originator: Robert Elz
>Release: NetBSD 4.0_STABLE
>Organization:
Prince of Songkla University
>Environment:
System: NetBSD jade.coe.psu.ac.th 4.0_STABLE NetBSD 4.0_STABLE
(JADE-1.696-20080517) #9: Fri May 23 18:55:13 ICT 2008
kre%jade.coe.psu.ac.th@localhost:/usr/obj/4/kernels/JADE i386
Architecture: i386
Machine: i386
>Description:
pkgsrc/mk/apache.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.
>How-To-Repeat:
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).
>Fix:
Best fix would be to add a test for installed apr versions
to mk/apache.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/apache.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.
Home |
Main Index |
Thread Index |
Old Index