PREFIX-safe installation of apache modules [Was: FreeBSD ports which are currently scheduled for deletion]

Oliver Eikemeier eikemeier at fillmore-labs.com
Sat Aug 21 03:04:50 PDT 2004


ports at c0decafe.net wrote:

> On Fri, 20 Aug 2004 20:31:24 +0200, Oliver Eikemeier wrote:
>
>> Ok, first you determine APXS_PREFIX. Since apache is installed in
>> ${LOCALBASE} (and APXS is therefore ${LOCALBASE}/sbin/apxs), this is
>> ${LOCALBASE} too.
>>
>> Ah, I see. You try to cope with the fact that apxs erroneously 
>> installes
>> files in LOCALBASE instead of PREFIX:
>>
>> @cwd ${APXS_PREFIX}
>> @unexec %D/sbin/apxs -e -A -n %%AP_NAME%%
>> %D/%%APACHEMODDIR%%/%%AP_MODULE%%
>> %%APACHEMODDIR%%/%%AP_MODULE%%
>> @exec %D/sbin/apxs -e -A -n %%AP_NAME%% %D/%F @cwd ${PREFIX}
>>
>> The problem with that is that you call ${APXS_PREFIX}/sbin/apxs, which
>> doesn't matter here, since LOCALBASE = APXS_PREFIX, but won't work
>> otherwise. Besides, packages will ignore every -p given to pkg_add(1).
>
> the trick here, is to not set PREFIX for individual modules, but to 
> reset
> APXS to whatever your (custom, else there is no problems, right?) apache
> prefix is, and it will do the right thing (tm), at least for some :)

No. The prefix for apache is LOCALBASE, otherwise apxs won't be found. 
You don't really have a choice here, and custom configurations (tweaking 
parameters not tweaked by the port) are beyond the scope of the ports 
collection.

> unless i am misunderstanding the problem here?

Yes. You disable basic features of the ports collection. I can build the 
port with a different prefix to check whether the packing list is 
correct, or add the package to a scratch area to examine its contents.

>> So, as far as I understand the situation, it's apxs that should be 
>> fixed
>> to honor PREFIX, and everything should be fine without the need for the
>> hacks in the packing list.
>
> modules need to follow the apache installation, unless there is value in
> independent prefixes for them?

There is. Of course they are only recognized by the http server when 
installed in its module directory, but perhaps I don't want to do this. 
People tweaking PREFIX normally know what they want, and thats not 
always that `things just work', even an user with average experience can 
guess that when you install modules with a different PREFIX that you web 
server, they won't be found (at least this is what I would expect). Most 
of this stuff relates to packaging, a similar example is PR 66032, which 
assumes that stuff is installed in a clean tree to be packaged. Which 
reminds me that we should honor this scenario in the apxs patch.

-Oliver



More information about the freebsd-ports mailing list