summaryrefslogtreecommitdiffstats
path: root/patches/httpd-2.0.64/0004-HACK-support-apxs-don-t-try-to-modify-the-config-fil.patch
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2012-05-03 21:23:19 +0200
committerMarc Kleine-Budde <mkl@pengutronix.de>2012-05-08 16:20:40 +0200
commitadb250148d979c2dd58b41ff8151f9c577b76572 (patch)
tree553ae821e6b3e4f959cf0db92577522ab949c2a6 /patches/httpd-2.0.64/0004-HACK-support-apxs-don-t-try-to-modify-the-config-fil.patch
parent3a1295b8d32eedee969e76778303b37e73228ea8 (diff)
downloadptxdist-adb250148d979c2dd58b41ff8151f9c577b76572.tar.gz
ptxdist-adb250148d979c2dd58b41ff8151f9c577b76572.tar.xz
apache2: update to 2.0.64 + use external apr + apr-util
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'patches/httpd-2.0.64/0004-HACK-support-apxs-don-t-try-to-modify-the-config-fil.patch')
-rw-r--r--patches/httpd-2.0.64/0004-HACK-support-apxs-don-t-try-to-modify-the-config-fil.patch244
1 files changed, 244 insertions, 0 deletions
diff --git a/patches/httpd-2.0.64/0004-HACK-support-apxs-don-t-try-to-modify-the-config-fil.patch b/patches/httpd-2.0.64/0004-HACK-support-apxs-don-t-try-to-modify-the-config-fil.patch
new file mode 100644
index 000000000..9f9d1e695
--- /dev/null
+++ b/patches/httpd-2.0.64/0004-HACK-support-apxs-don-t-try-to-modify-the-config-fil.patch
@@ -0,0 +1,244 @@
+From: Marc Kleine-Budde <mkl@pengutronix.de>
+Date: Fri, 27 Apr 2012 16:28:45 +0200
+Subject: [PATCH] HACK: support/apxs: don't try to modify the config file
+
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+---
+ support/apxs.in | 224 +++++++++++++++++++++++++++---------------------------
+ 1 files changed, 112 insertions(+), 112 deletions(-)
+
+diff --git a/support/apxs.in b/support/apxs.in
+index cbefb3a..2bde471 100644
+--- a/support/apxs.in
++++ b/support/apxs.in
+@@ -527,118 +527,118 @@ if ($opt_i or $opt_e) {
+ &execute_cmds(@cmds);
+
+ # 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]");
+- }
+- my $amd;
+- foreach $amd (@amd) {
+- if ($content !~ m|\n#?\s*$amd|) {
+- $content =~ s|^(.*\n#?\s*AddModule\s+[^\n]+\n)|$1$c$amd\n|sg;
+- } else {
+- $content =~ s|^(.*\n)#?\s*$amd[^\n]*\n|$1$c$amd\n|sg;
+- }
+- }
+- if (@lmd or @amd) {
+- if (open(FP, ">$CFG_SYSCONFDIR/$CFG_TARGET.conf.new")) {
+- print FP $content;
+- close(FP);
+- system("cp $CFG_SYSCONFDIR/$CFG_TARGET.conf $CFG_SYSCONFDIR/$CFG_TARGET.conf.bak && " .
+- "cp $CFG_SYSCONFDIR/$CFG_TARGET.conf.new $CFG_SYSCONFDIR/$CFG_TARGET.conf && " .
+- "rm $CFG_SYSCONFDIR/$CFG_TARGET.conf.new");
+- } else {
+- notice("unable to open configuration file");
+- }
+- }
+- }
++ # 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]");
++ # }
++ # my $amd;
++ # foreach $amd (@amd) {
++ # if ($content !~ m|\n#?\s*$amd|) {
++ # $content =~ s|^(.*\n#?\s*AddModule\s+[^\n]+\n)|$1$c$amd\n|sg;
++ # } else {
++ # $content =~ s|^(.*\n)#?\s*$amd[^\n]*\n|$1$c$amd\n|sg;
++ # }
++ # }
++ # if (@lmd or @amd) {
++ # if (open(FP, ">$CFG_SYSCONFDIR/$CFG_TARGET.conf.new")) {
++ # print FP $content;
++ # close(FP);
++ # system("cp $CFG_SYSCONFDIR/$CFG_TARGET.conf $CFG_SYSCONFDIR/$CFG_TARGET.conf.bak && " .
++ # "cp $CFG_SYSCONFDIR/$CFG_TARGET.conf.new $CFG_SYSCONFDIR/$CFG_TARGET.conf && " .
++ # "rm $CFG_SYSCONFDIR/$CFG_TARGET.conf.new");
++ # } else {
++ # notice("unable to open configuration file");
++ # }
++ # }
++ # }
+ }
+
+ sub error{