Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Apr 2011 11:25:54 +0200
From:      olli hauer <ohauer@gmx.de>
To:        "Philip M. Gollucci" <pgollucci@p6m7g8.com>
Cc:        freebsd-apache@freebsd.org
Subject:   Re: How to make www/apache22-worker-mpm a dependency?
Message-ID:  <4DAAB222.6040206@gmx.de>
In-Reply-To: <4DA7BC9D.8050907@p6m7g8.com>
References:  <c224cc661065da2d0353cc6ee0621cd6.squirrel@webmail.ultra-secure.de> <4DA1DB8E.40702@FreeBSD.org> <4DA7BC9D.8050907@p6m7g8.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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"
...





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