www/mod_dnssd broken for apache24
Scot Hetzel
swhetzel at gmail.com
Thu Sep 11 06:48:25 UTC 2014
On Wed, Sep 10, 2014 at 5:33 AM, Dag-Erling Smørgrav <des at des.no> wrote:
> Lowell Gilbert <freebsd-ports-local at be-well.ilk.org> writes:
>> --- src/mod_dnssd.c~ 2009-01-27 21:24:00.000000000 -0500
>> +++ src/mod_dnssd.c 2014-09-09 15:23:08.000000000 -0400
>> @@ -576,7 +576,7 @@
>>
>> ap_assert(d);
>>
>> - unixd_setup_child();
>> + ap_unixd_setup_child();
>>
>> if (pipe(sigterm_pipe_fds) < 0) {
>> ap_log_error(APLOG_MARK, APLOG_ERR, 0, r.main_server, "pipe() failed: %s", strerror(errno));
>
> I thought there was an #ifdef for that... but apparently I only fixed
> it in mod_fastcgi, not mod_dnssd. Something like
>
> #if MODULE_MAGIC_NUMBER_MAJOR >= 20090130
> #define unixd_setup_child ap_unixd_setup_child
> #endif
>
>> The other problem is that the port rewrites the httpd.conf file (to
>> include the module), and the path is now wrong in the era of staging.
>> I have a feeling that the "right" solution is to avoid writing into
>> /usr/local directly, but that would be considerably less convenient.
>
> The port does no such thing. This is handled by the ports framework
> which adds the following to the manifest during 'make package':
>
Actually, the port does write to the httpd.conf file during staging.
The problem is in src/Makefile.in on line 21:
+ $(APXS) $(APXS_STAGE) -i -a mod_dnssd.la
it is the -a that is telling APXS to write to the httpd.conf file
located in SYSCONFDIR. Since the SYSCONFDIR is in PREFIX, the
httpd.conf file gets rewritten.
If you remove the -a from this line, then it shouldn't overwrite the
entry that already exists in the httpd.conf with one point to the
STAGEDIR.
--
DISCLAIMER:
No electrons were maimed while sending this message. Only slightly bruised.
More information about the freebsd-ports
mailing list