> I want it to find /etc/httpd/2.0/conf/httpd2.conf but it is finding:
> 
> [  debug] isolated httpd_defines HTTPD_ROOT = /etc/httpd/2.0
> [  debug] isolated httpd_defines SERVER_CONFIG_FILE = conf/httpd2.conf
> [  debug] inheriting config file: /usr/conf/httpd2.conf
> 
> I'd love to figure out where it's grabbing '/usr' to append to the
> SERVER_CONFIG_FILE that it finds. Any ideas?

$self->{httpd_basedir}, which looks to be calculated based on the location
of the httpd binary.  but it looks like it ought to be using HTTPD_ROOT
instead.  at least if it's defined.

try this (completely untested)

--Geoff
Index: lib/Apache/TestConfigParse.pm
===================================================================
--- lib/Apache/TestConfigParse.pm	(revision 265514)
+++ lib/Apache/TestConfigParse.pm	(working copy)
@@ -341,7 +341,7 @@
     my $extra_file = $self->{vars}->{httpd_conf_extra};
 
     unless ($file and -e $file) {
-        if (my $base = $self->{httpd_basedir}) {
+        if (my $base = $self->{httpd_defines}->{HTTPD_ROOT} || $self->{httpd_basedir}) {
             my $default_conf = $self->{httpd_defines}->{SERVER_CONFIG_FILE};
             $default_conf ||= catfile qw(conf httpd.conf);
             $file = catfile $base, $default_conf;

Reply via email to