#! /usr/local/bin/perl use File::Find; use strict; my $APACHE_SRC = shift; my $LoadModule_conf = "t/conf/LoadModule.conf"; my $tmp = "t/conf/httpd.conf.new"; my $orig = "t/conf/httpd.conf"; local *ORIG; open ORIG, $orig or die "can't open $orig $!"; while() { if(/^LoadModule/) { exit 0; #already cat-ed } } unless (-d "t") { chdir ".."; } #phooey, this mess should have been cleaned up before 1.3.0 my $name_map = { log_config => "config_log", include => "includes", actions => "action", auth_anon => "anon_auth", auth_dbm => "dbm_auth", log_agent => "agent_log", log_referer => "referer_log" }; my @sh_mods = (); finddepth(sub { return unless /(mod_|lib)(.*)\.s[ol]$/; my $name = $name_map->{$2} || $2; my $full = "$File::Find::dir/$_"; if($full !~ m,^/,) { if($full =~ m,^\.\./,) { $full = "../$full"; } } return if $name =~ /(auth|autoindex|digest)/; #a few that screw make test push @sh_mods, "LoadModule ${name}_module $full"; }, $APACHE_SRC) if $APACHE_SRC and -d $APACHE_SRC; my($perl_mod) = grep /perl/, @sh_mods; unshift @sh_mods, $perl_mod; #must come before mod_include/USE_PERL_SSI my %seen; local *FH; open FH, ">$LoadModule_conf" or die "can't open $LoadModule_conf $!"; print FH join "\n", (grep { !$seen{$_}++ } @sh_mods), ""; close FH; system "cat $LoadModule_conf $orig > $tmp && mv $tmp $orig";