What is policy about auto-editing config files on port install / deinstall?

Scot Hetzel swhetzel at gmail.com
Fri Jan 4 08:51:54 UTC 2013


On Fri, Jan 4, 2013 at 2:12 AM, Scot Hetzel <swhetzel at gmail.com> wrote:
>>
>> Why am I forced to manualy re-enable all 3rd party modules on each upgrade?
>>
>> Modules should not disable something that is explicitly enabled by user /
>> system administrator.
>>
>>
> I found the cause of your issue, the www/mod_sendfile/Makefile has
> AP_GENPLIST= yes defined.  This causes the port to use this code to
> create the packing list:
>
> Mk/bsd.apache.mk
>
> 451     ap-gen-plist:
> 452     .if defined(AP_GENPLIST)
> 453     . if !exists(${PLIST})
> 454     @${ECHO} "===> Generating apache plist"
> 455     # apache22
> 456     @${ECHO} "@unexec ${SED} -i '' -E
> '/LoadModule[[:blank:]]+%%AP_NAME%%_module/d'
> %D/%%APACHEETCDIR%%/httpd.conf" >> ${PLIST}

Found the reason for this sed line, as it is used to remove the
LoadModule line from the httpd.conf file so that when Apache is
uninstalled, the httpd.conf could be removed, if there were no changes
from the original.

see http://svnweb.freebsd.org/ports?view=revision&revision=194395

I still think it is better to disable the module on uninstall, and
enable the module on install.

> 457     @${ECHO} "%%APACHEMODDIR%%/%%AP_MODULE%%" >> ${PLIST}
> 458     @${ECHO} "@exec %D/sbin/apxs -e -A -n %%AP_NAME%% %D/%F" >> ${PLIST}
> 459     @${ECHO} "@unexec echo \"Don't forget to remove all
> ${MODULENAME}-related directives in your httpd.conf\"">> ${PLIST}
> 460     . endif
> 461     .else
> 462     @${DO_NADA}
> 463     .endif
> 464     .endif
>
> As well as adding the module disabled in the httpd.conf file:
>
> 472     do-install:
> 473     @${APXS} -i -A -n ${SHORTMODNAME} ${WRKSRC}/${MODULENAME}.${AP_BUILDEXT}
>





-- 
DISCLAIMER:

No electrons were maimed while sending this message. Only slightly bruised.


More information about the freebsd-ports mailing list