p5-Apache-DBI 'make package' dependency strangeness

Scot Hetzel swhetzel at gmail.com
Wed Sep 27 07:29:23 PDT 2006

> I know there's magic that almost gets it right, because it was finding
> my apache-2.2.3 dependency before (when I didn't specify APACHE_PORT),
> but was trying to add an apache20 or apache13 dependency as well.
> Speaking of APACHE_PORT...  Is it documented somewhere that that's the
> variable needed for this stuff?  It's not in the hints in
> /usr/ports/Mk/bsd.apache.mk, and what I do see implies that
> setting APACHE_VERSION to 22 should DTRT.
The reason why Apache 2.0 port is appearing in your dependancy list is
because of the way the p5-Apache-DBI Makefile is written.  If you look
at bsd.apache.mk, and look at this section of code:

.elif ${USE_APACHE:C/\.//:C/\+//:M[12][3210]} != ""

#### for backward compatibility
.elif ${USE_APACHE:L} == yes
.   if defined(WITH_APACHE2)
APACHE_PORT?=	www/apache20
.   else
APACHE_PORT?=	www/apache13
.   endif
APXS?=			${LOCALBASE}/sbin/apxs
.if !defined(APACHE_COMPAT)
#### End of backward compatibility

When WITH_APACHE2 is defined, it sets the dependancy to the
www/apache20 port, because it has defined APACHE_PORT, even though the
APACHE_PORT variable gets overriden latter in bsd.apache.mk by the
check for the currently installed apache port.

To solve the problem in the p5-APACHE-DBI, you need to take a hint
from the mod_perl2 port to define USE_APACHE=2.0+.

If the current code in the p5-Apache-DBI port is changed to:

.if defined(WITH_MODPERL2)
RUN_DEPENDS+=	${SITE_PERL}/${PERL_ARCH}/mod_perl2.pm:${PORTSDIR}/www/mod_perl2
RUN_DEPENDS+=	${SITE_PERL}/${PERL_ARCH}/mod_perl.pm:${PORTSDIR}/www/mod_perl

.include <bsd.port.pre.mk>

Then to build the port for mod_perl2, you just build it as:


Also setting APACHE_VERSION=22 does nothing, as it gets overriden in


More information about the freebsd-ports mailing list