Search
j0ke.net Open Build Service
>
Projects
>
Apache
>
apache2
> httpd-2.2.16-apxs-a2enmod.dif
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File httpd-2.2.16-apxs-a2enmod.dif of Package apache2 (Revision 58)
Currently displaying revision
58
,
show latest
--- httpd-2.2.16/support/apxs.in.orig 2010-05-10 22:02:56.000000000 +0200 +++ httpd-2.2.16/support/apxs.in 2010-10-08 11:14:52.653230658 +0200 @@ -526,96 +526,13 @@ # activate module via LoadModule/AddModule directive if ($opt_a or $opt_A) { - if (not -f "$CFG_SYSCONFDIR/$CFG_TARGET.conf") { - error("Config file $CFG_SYSCONFDIR/$CFG_TARGET.conf not found"); - exit(1); - } - - open(FP, "<$CFG_SYSCONFDIR/$CFG_TARGET.conf") || die; - my $content = join('', <FP>); - close(FP); - - if ($content !~ m|\n#?\s*LoadModule\s+|) { - error("Activation failed for custom $CFG_SYSCONFDIR/$CFG_TARGET.conf file."); - error("At least one `LoadModule' directive already has to exist."); - exit(1); - } my $lmd; my $c = ''; $c = '#' if ($opt_A); foreach $lmd (@lmd) { - my $what = $opt_A ? "preparing" : "activating"; - my $lmd_re = $lmd; - $lmd_re =~ s/\s+/\\s+/g; - - if ($content !~ m|\n#?\s*$lmd_re|) { - # check for open <containers>, so that the new LoadModule - # directive always appears *outside* of an <container>. - - my $before = ($content =~ m|^(.*\n)#?\s*LoadModule\s+[^\n]+\n|s)[0]; - - # the '()=' trick forces list context and the scalar - # assignment counts the number of list members (aka number - # of matches) then - my $cntopen = () = ($before =~ m|^\s*<[^/].*$|mg); - my $cntclose = () = ($before =~ m|^\s*</.*$|mg); - - if ($cntopen == $cntclose) { - # fine. Last LoadModule is contextless. - $content =~ s|^(.*\n#?\s*LoadModule\s+[^\n]+\n)|$1$c$lmd\n|s; - } - elsif ($cntopen < $cntclose) { - error('Configuration file is not valid. There are sections' - . ' closed before opened.'); - exit(1); - } - else { - # put our cmd after the section containing the last - # LoadModule. - my $found = - $content =~ s!\A ( # string and capture start - (?:(?: - ^\s* # start of conf line with a - (?:[^<]|<[^/]) # directive which does not - # start with '</' - - .*(?:$)\n # rest of the line. - # the '$' is in parentheses - # to avoid misinterpreting - # the string "$\" as - # perl variable. - - )* # catch as much as possible - # of such lines. (including - # zero) - - ^\s*</.*(?:$)\n? # after the above, we - # expect a config line with - # a closing container (</) - - ) {$cntopen} # the whole pattern (bunch - # of lines that end up with - # a closing directive) must - # be repeated $cntopen - # times. That's it. - # Simple, eh? ;-) - - ) # capture end - !$1$c$lmd\n!mx; - - unless ($found) { - error('Configuration file is not valid. There are ' - . 'sections opened and not closed.'); - exit(1); - } - } - } else { - # replace already existing LoadModule line - $content =~ s|^(.*\n)#?\s*$lmd_re[^\n]*\n|$1$c$lmd\n|s; - } - $lmd =~ m|LoadModule\s+(.+?)_module.*|; - notice("[$what module `$1' in $CFG_SYSCONFDIR/$CFG_TARGET.conf]"); + print "activating " . $name . "\n"; + system("a2enmod " . $name); } if (@lmd) { if (open(FP, ">$CFG_SYSCONFDIR/$CFG_TARGET.conf.new")) {