<pre style='margin:0'>
Marius Schamschula (Schamschula) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/f8f90a5c308b10b53459d47d726c89d86ca23f55">https://github.com/macports/macports-ports/commit/f8f90a5c308b10b53459d47d726c89d86ca23f55</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit f8f90a5c308b10b53459d47d726c89d86ca23f55
</span>Author: Marius Schamschula <mps@macports.org>
AuthorDate: Sun Oct 7 07:35:36 2018 -0500
<span style='display:block; white-space:pre;color:#404040;'> www/apache: remove obsolete port
</span>---
www/apache/Portfile | 12 -
.../patch-src_Configure-remove-flat_namespace.diff | 15 --
...e.c-remove-rename-static-getline-functions.diff | 78 ------
www/apache/files/update-apachemodules.pl | 266 ---------------------
4 files changed, 371 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/apache/Portfile b/www/apache/Portfile
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 1ae79ab..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/apache/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,12 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-replaced_by apache2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup obsolete 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-name apache
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version 1.3.41
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories www
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Remove after October 7, 2018
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/apache/files/patch-src_Configure-remove-flat_namespace.diff b/www/apache/files/patch-src_Configure-remove-flat_namespace.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 6b2e43b..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/apache/files/patch-src_Configure-remove-flat_namespace.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,15 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/Configure.old
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/Configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1146,11 +1146,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LD_SHLIB="cc"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CFLAGS_SHLIB=""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case "$PLAT" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *-apple-rhapsody* | *-apple-darwin1.[0-3]* )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- LDFLAGS_SHLIB='$(EXTRA_LDFLAGS) -bundle -undefined suppress'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- LDFLAGS_SHLIB='$(EXTRA_LDFLAGS) -bundle -undefined suppress -flat_namespace'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ LDFLAGS_SHLIB='$(EXTRA_LDFLAGS) -bundle -undefined dynamic_lookup'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/apache/files/patch-src_support_htdigest_htpasswd_logresolve.c-remove-rename-static-getline-functions.diff b/www/apache/files/patch-src_support_htdigest_htpasswd_logresolve.c-remove-rename-static-getline-functions.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index c849da1..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/apache/files/patch-src_support_htdigest_htpasswd_logresolve.c-remove-rename-static-getline-functions.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,78 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/support/htdigest.c.old
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/support/htdigest.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -71,7 +71,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- while ((line[y++] = line[x++]));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--static int getline(char *s, int n, FILE *f)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static int htdigest_getline(char *s, int n, FILE *f)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- register int i = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -158,7 +158,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static char line[MAX_STRING_LEN];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- while (!(getline(line, MAX_STRING_LEN, source))) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ while (!(htdigest_getline(line, MAX_STRING_LEN, source))) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- putline(target, line);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -216,7 +216,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ap_cpystrn(realm, argv[2], sizeof(realm));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- found = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- while (!(getline(line, MAX_STRING_LEN, f))) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ while (!(htdigest_getline(line, MAX_STRING_LEN, f))) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (found || (line[0] == '#') || (!line[0])) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- putline(tfp, line);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- continue;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/support/htpasswd.c.old
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/support/htpasswd.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -98,7 +98,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Get a line of input from the user, not including any terminating
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * newline.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--static int getline(char *s, int n, FILE *f)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static int htpasswd_getline(char *s, int n, FILE *f)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- register int i = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -547,7 +547,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- char scratch[MAX_STRING_LEN];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fpw = fopen(pwfilename, "r");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- while (! (getline(line, sizeof(line), fpw))) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ while (! (htpasswd_getline(line, sizeof(line), fpw))) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- char *colon;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if ((line[0] == '#') || (line[0] == '\0')) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/support/logresolve.c.old
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/support/logresolve.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -71,7 +71,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* !MPE && !WIN32*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static void cgethost(struct in_addr ipnum, char *string, int check);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--static int getline(char *s, int n);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static int logresolve_getline(char *s, int n);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static void stats(FILE *output);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -278,7 +278,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * gets a line from stdin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--static int getline (char *s, int n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static int logresolve_getline (char *s, int n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- char *cp;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -326,7 +326,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for (i = 0; i < MAX_ERR + 2; i++)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- errors[i] = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- while (getline(line, MAXLINE)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ while (logresolve_getline(line, MAXLINE)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (line[0] == '\0')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- continue;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- entries++;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/apache/files/update-apachemodules.pl b/www/apache/files/update-apachemodules.pl
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index b589625..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/apache/files/update-apachemodules.pl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,266 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#!/opt/local/bin/perl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# update-apachemodules.pl - Apache module installation for darwinports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Copyright (C) Benoit Chesneau <bchesneau@mac.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# This program is free software; you can redistribute it and/or
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# modify it under the terms of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# as published by the Free Software Foundation; either version 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# of the License, or (at your option) any later version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# This program is distributed in the hope that it will be useful,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# but WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# along with this program; if not, write to the Free Software
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-require 5.003;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-use strict;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-no strict 'vars';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# config var
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-my $prefix = "__PREFIX";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-my $modules_path = "libexec/__NAME";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-my $modulesd_path = "etc/__NAME/modules.d";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-my $config_path = "etc/__NAME";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-my $config_file = "httpd.conf";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# main
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-my $file='';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-my %modconf;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-my @lmd = ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-my @amd = ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-my @imd = ();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#parse files
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-opendir (REP, "$prefix/$modulesd_path") or die " $modulesd_path doesn't exist";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-while (defined ($file = readdir(REP))) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- next if $file=~ /^\.\.?$/;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %modconf = parse_conffile($file);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if ($modconf{'name'}) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- my $cname='';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if ((!$modconf{'cname'}) || ($modconf{'cname'} eq '')) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $cname='mod_' . $modconf{'name'} . '.c';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $cname=$modconf{'cname'};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (($modconf{'load'}) && ($modconf{'load'} eq 'no')) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- push (@lmd, sprintf('#LoadModule %-18s %s', $modconf{'name'} . "_module", "$modules_path/" . $modconf{'dso_name'} . ".so"));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- push (@amd, sprintf('#AddModule %s', $cname));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- push (@lmd, sprintf('LoadModule %-18s %s',$modconf{'name'} . "_module", "$modules_path/" . $modconf{'dso_name'} . ".so"));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- push (@amd, sprintf('AddModule %s', $cname));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if ($modconf{'conf_file'}) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- push (@imd, sprintf("Include '$prefix/$config_path/extras-conf/%s'", $modconf{'conf_file'}));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- print "Parsed " . $modconf{"name"} . "\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-closedir (REP);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# activate modules (code based on apache apxs)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if (not -f "$prefix/$config_path/$config_file") {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- print STDERR "Error: Config file $config_file not foud!\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit(1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-open (FP, "< $prefix/$config_path/$config_file") or die "can't open $config_file \n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-my $content = join ('', <FP>);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-close (FP);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if ($content !~ m|\n#?\s*LoadModule\s+|) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- print STDERR "Error: Activation failed for custom $config_file file.\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- print STDERR "Error: At least one `LoadModule' directive already has to exist.\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit(1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach $lmd (@lmd) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- print $lmd . "\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (substr($lmd,0,1) eq "#") {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- substr($lmd, 0, 1) = "";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $c = '#';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if ($content !~ m|\n#?\s*$lmd|) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # check for open <containers>, so that the new LoadModule
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # directive always appears *outside* of an <container>.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- my $before = ($content =~ m|^(.*\n)#?\s*LoadModule\s+[^\n]+\n|s)[0];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # the '()=' trick forces list context and the scalar
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # assignment counts the number of list members (aka number
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # of matches) then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- my $cntopen = () = ($before =~ m|^\s*<[^/].*$|mg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- my $cntclose = () = ($before =~ m|^\s*</.*$|mg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if ($cntopen == $cntclose) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # fine. Last LoadModule is contextless.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $content =~ s|^(.*\n#?\s*LoadModule\s+[^\n]+\n)|$1$c$lmd\n|s;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } elsif ($cntopen < $cntclose) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- print STDERR 'Configuration file is not valid. There are '
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- . "sections closed before opened.\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit(1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # put our cmd after the section containing the last
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # LoadModule.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- my $found =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $content =~ s!\A ( # string and capture start
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (?:(?:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ^\s* # start of conf line with a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (?:[^<]|<[^/]) # directive which does not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # start with '</'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .*(?:$)\n # rest of the line.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # the '$' is in parentheses
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # to avoid misinterpreting
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # the string "$\" as
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # perl variable.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )* # catch as much as possible
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # of such lines. (including
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # zero)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ^\s*</.*(?:$)\n? # after the above, we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # expect a config line with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # a closing container (</)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ) {$cntopen} # the whole pattern (bunch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # of lines that end up with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # a closing directive) must
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # be repeated $cntopen
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # times. That's it.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Simple, eh? ;-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ) # capture end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- !$1$c$lmd\n!mx;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unless ($found) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- print STDERR 'Configuration file is not valid. There '
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- . "are sections opened and not closed.\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit(1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # replace already existing LoadModule line
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $content =~ s|^(.*\n)#?\s*$lmd[^\n]*\n|$1$c$lmd\n|s;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $lmd =~ m|LoadModule\s+(.+?)_module.*|;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #print STDERR "[$what module `$1' in $config_file]\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-my $amd;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach $amd (@amd) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (substr($amd,0,1) eq "#") {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- substr($amd, 0, 1) = "";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $c = '#';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if ($content !~ m|\n#?\s*$amd|) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # check for open <containers> etc. see above for explanations.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- my $before = ($content =~ m|^(.*\n)#?\s*AddModule\s+[^\n]+\n|s)[0];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- my $cntopen = () = ($before =~ m|^\s*<[^/].*$|mg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- my $cntclose = () = ($before =~ m|^\s*</.*$|mg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if ($cntopen == $cntclose) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $content =~ s|^(.*\n#?\s*AddModule\s+[^\n]+\n)|$1$c$amd\n|s;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } elsif ($cntopen < $cntclose) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # cannot happen here, but who knows ...
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- print STDERR 'Configuration file is not valid. There are '
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- . "sections closed before opened.\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit(1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unless ($content =~ s!\A((?:(?:^\s*(?:[^<]|<[^/]).*(?:$)\n)*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ^\s*</.*(?:$)\n?){$cntopen})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- !$1$c$amd\n!mx) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # cannot happen here, anyway.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- print STDERR 'Configuration file is not valid. There '
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- . "are sections opened and not closed.\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit(1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # replace already existing AddModule line
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $content =~ s|^(.*\n)#?\s*$amd[^\n]*\n|$1$c$amd\n|s;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-my $imd;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach $imd (@imd) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if ($content !~ m|\n#?\s*$imd|) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $content .= $imd;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if (@lmd or @amd) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (open(FP, "> $prefix/$config_path/$config_file.new")) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- print FP $content;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- close(FP);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system ("cp $prefix/$config_path/$config_file $prefix/$config_path/$config_file.bak");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system ("cp $prefix/$config_path/$config_file.new $prefix/$config_path/$config_file");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #push(@cmds, "del \"$prefix/$config_path/$config_file.new\"");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- print STDERR "Error: unable to open configuration file\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# subs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-sub parse_conffile () {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $file = shift;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- my %data;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- open (CONFFILE, "$prefix/$modulesd_path/$file") or die "can't open $file \n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- while (<CONFFILE>) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- chomp;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- s/#.*//;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- s/^\s+//;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- s/\s+$//;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- next unless length;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- my ($k,$v) = split(/\s*=\s*/,$_, 2);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $data{$k}=$v;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- close (CONFFILE) ;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return %data;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span></pre><pre style='margin:0'>
</pre>