Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Apr 2011 18:32:14 +0200
From:      Olli Hauer <ohauer@FreeBSD.org>
To:        rainer@ultra-secure.de
Cc:        freebsd-apache@freebsd.org
Subject:   Re: How to make www/apache22-worker-mpm a dependency?
Message-ID:  <4DA1DB8E.40702@FreeBSD.org>
In-Reply-To: <c224cc661065da2d0353cc6ee0621cd6.squirrel@webmail.ultra-secure.de>
References:  <c224cc661065da2d0353cc6ee0621cd6.squirrel@webmail.ultra-secure.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2011-04-08 15:20, rainer@ultra-secure.de wrote:
> Hi,
> 
> I would like to make www/apache22-worker-mpm the "default" apache, instead
> of 1.3 (or 2.2).
> The reason is that I build my ports in a tinderbox and even if I change
> the USE_APACHE=1.3+ to USE_APACHE=2.2+ in e.g. the mod_fastcgi
> ports-Makefile, it still installs the "normal" prefork-apache22.
> Thus, upon installing the package, I have to de-install the wrong
> apache-package first, then install the worker-mpm-apache and then pkgdb -F
> the pkg-database.
> 
> Anybody have a solution for that?
> 
> 
> Regards,
> Rainer

Hi Rainer,

the only way to build apache22 with mpm-worker in tinderbox is to
set WITH_MPM=worker in  "$tb/scripts/etc/env/build.$buildname"
or in a "/etc/make.conf" of the tinderbox jail which can be injected
with the postBuildExtract hook.


The disadvantage is that the latest link and pkg-desc
does not reflect this setting but you can fix this with this patch

# diff -u apache22/Makefile.modules.orig apache22/Makefile.modules
--- apache22/Makefile.modules.orig      2011-03-31 19:00:36.000000000 +0200
+++ apache22/Makefile.modules   2011-04-10 18:21:23.000000000 +0200
@@ -60,6 +60,8 @@
 .   endif
 .      if ${WITH_MPM:L} == "worker"
 PLIST_SUB+=    PREFORK="@comment " WORKER="" EVENT="@comment "
+LATEST_LINK=   apache22-worker-mpm
+DESCR=         ${.CURDIR}/../apache22-worker-mpm/pkg-descr
 .      elif  ${WITH_MPM:L} == "event"
 PLIST_SUB+=    PREFORK="@comment " WORKER="@comment " EVENT=""
 .      elif  ${WITH_MPM:L} == "itk"


If you want to go the tinderbox hook way ...
Snippet from my tinderbox postBuildExtract hook, place the script into
${TB}/scripts and install with
$> ./tc updateHookCmd -h postBuildExtract -c hook_postBuildExtract

#======================================================================
# hook_postBuildExtract
#
# no make.conf for this build
if [ "${BUILD}" = "7.4-porter" ]; then
    return 0
fi

MAKE_CONF=${PB}/jails/make.conf
[ ${RC} -eq 0 ]  || _diag
[ -z ${BUILD} ]   && echo "not running from tnderbox" && return 1
[ -z ${DESTDIR} ] && echo "not running from tnderbox" && return 1
[ -z ${JAIL} ]    && echo "not running from tnderbox" && return 1
[ -r ${MAKE_CONF} ] && cp -v ${MAKE_CONF} ${DESTDIR}/etc/make.conf
_ret=$?

if [ -z $_ret ]; then
    # make.conf was not found
    return 2
fi

return 0


Save the following lines as ${TB}/jails/make.conf
#======================================================================
.if ${.CURDIR:M*/www/apache22}
#WITH_MPM=prefork
# mpm_worker breaks php5 postgresql module
#WITH_MPM=worker
.endif
#======================================================================


// olli



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4DA1DB8E.40702>