From owner-freebsd-apache@FreeBSD.ORG Sun Apr 17 09:52:23 2011 Return-Path: Delivered-To: freebsd-apache@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F8EC106566C for ; Sun, 17 Apr 2011 09:52:23 +0000 (UTC) (envelope-from ohauer@gmx.de) Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.22]) by mx1.freebsd.org (Postfix) with SMTP id D466D8FC08 for ; Sun, 17 Apr 2011 09:52:22 +0000 (UTC) Received: (qmail invoked by alias); 17 Apr 2011 09:25:42 -0000 Received: from u18-124.dslaccess.de (EHLO [172.20.1.100]) [194.231.39.124] by mail.gmx.net (mp050) with SMTP; 17 Apr 2011 11:25:42 +0200 X-Authenticated: #1956535 X-Provags-ID: V01U2FsdGVkX186sE9vbTk64F0fBUit7kc5ek7MvVwiYz06l0HEmL fWuGwPDEc1IMzx Message-ID: <4DAAB222.6040206@gmx.de> Date: Sun, 17 Apr 2011 11:25:54 +0200 From: olli hauer User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9 MIME-Version: 1.0 To: "Philip M. Gollucci" References: <4DA1DB8E.40702@FreeBSD.org> <4DA7BC9D.8050907@p6m7g8.com> In-Reply-To: <4DA7BC9D.8050907@p6m7g8.com> X-Enigmail-Version: 1.1.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 Cc: freebsd-apache@freebsd.org Subject: Re: How to make www/apache22-worker-mpm a dependency? X-BeenThere: freebsd-apache@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Support of apache-related ports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Apr 2011 09:52:23 -0000 On 2011-04-15 05:33, Philip M. Gollucci wrote: > On 4/10/2011 12:32 PM, Olli Hauer wrote: >> 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 >> #====================================================================== >> >> > Are you sure about this? > > APACHE_PORT=www/apache22-worker-mpm should work too in /etc/make.conf Yes, should work, but I see a possible issue if a port tests against ${APACHE_PORT}. For exmaple .if ${APACHE_PORT} == "www/apache22" ...