[Pkg-apache-commits] [SCM] Debian packaging for apache2 (Apache HTTPD 2.x) branch, next, updated. af936c468e7649dcc13e5da097f6aac739b53c24

Arno Töll arno at debian.org
Thu Apr 12 12:19:52 UTC 2012


The following commit has been merged in the next branch:
commit af936c468e7649dcc13e5da097f6aac739b53c24
Author: Arno Töll <arno at debian.org>
Date:   Thu Apr 12 14:10:49 2012 +0200

    * Replace the clean-config-vars stuff by a perl script
    * Add a versioned conflict for apache2.2-bin, now that we have a transitional
      package

diff --git a/debian/clean_config_vars b/debian/clean_config_vars
new file mode 100755
index 0000000..b74ed92
--- /dev/null
+++ b/debian/clean_config_vars
@@ -0,0 +1,59 @@
+#! /usr/bin/perl
+
+use strict;
+
+my %FLAGS = {
+	'CFLAGS' => $ARGV[0],
+	'CPPFLAGS' => $ARGV[1],
+	'LDDFLAGS' => $ARGV[2],
+};
+
+
+sub clean_and_deduplicate
+{
+	my $arg = shift;
+	my $return_flags = "";
+	my @flags = split(/\s+/, $arg);
+	my %seen = ();
+        my @flags = grep { ! $seen{ $_ }++ } @flags;
+	foreach my $flag (@flags)
+	{
+		#print("FLAG: $flag\n");
+		$return_flags .= "$flag " unless
+			$flag =~ m/PLATFORM/ or
+			$flag =~ m/pthread/;
+	}
+	return $return_flags;
+}
+
+chdir("debian/tmp/usr/share/apache2/build/") || die("$1");
+
+open(CONFIG_VARS, "<", "config_vars.mk") || die("config_vars.mk: $!");
+open(TMP_CONFIG_VARS, ">", "tmp_config_vars.mk") || die("tmp_config_vars.mk: $1");
+
+
+while(my $line = <CONFIG_VARS>)
+{
+	chomp $line;
+	unless ($line =~ m/(^|_)(LD|CPP|C)FLAGS/)
+	{
+		print TMP_CONFIG_VARS "$line\n";
+	}
+	else
+	{
+		my ($flag, $value) = split(/\s*=\s*/, $line, 2);
+		if (exists $FLAGS{$flag})
+		{
+			$value .= ' ' . $FLAGS{$flag};
+		}
+		my $mangled = clean_and_deduplicate($value);
+		print  "mangle: $flag: '$value' => '$mangled'\n";
+		printf TMP_CONFIG_VARS "%s = %s\n", $flag, $mangled;
+	}
+}
+
+close(CONFIG_VARS);
+close(TMP_CONFIG_VARS);
+
+unlink("config_vars.mk") || die("unlink: config_vars.mk: $1");
+rename("tmp_config_vars.mk", "config_vars.mk") || die("rename: tmp_config_vars.mk: $1");
diff --git a/debian/control b/debian/control
index c51c5ce..456a4eb 100644
--- a/debian/control
+++ b/debian/control
@@ -50,8 +50,8 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}
 # MODULE_MAGIC_NUMBER_MAJOR from apache2/include/ap_mmn.h
 Provides: ${apache2:API}
 Suggests: www-browser, apache2-doc, apache2-suexec-pristine | apache2-suexec-custom
-Replaces: apache2.2-bin, apache2.2-common
-Conflicts: apache2.2-bin, apache2.2-common
+Replaces: apache2.2-bin (<< 2.3~), apache2.2-common
+Conflicts: apache2.2-bin (<< 2.3~), apache2.2-common
 Description: Apache HTTP Server (binary files and modules)
  The Apache Software Foundation's goal is to build a secure, efficient and
  extensible HTTP server as standards-compliant open source software. The
diff --git a/debian/rules b/debian/rules
index 379e876..4913cdc 100755
--- a/debian/rules
+++ b/debian/rules
@@ -22,22 +22,7 @@ clean-config-vars:
 	# Clean up config_vars.mk
 	# FIXME: Maybe someone could document here why we actually need to
 	# cleanup some stuff here
-	set -x ; ( cd debian/tmp/usr/share/apache2/build/ ; \
-	grep -v -E '(^|_)(LD|CPP|C)FLAGS' config_vars.mk > tmp_config_vars.mk ; \
-	printf "CPPFLAGS = %s %s\n" \
-		"`grep -E '(^|_)(CPPFLAGS|INCLUDES)' config_vars.mk | cut -d= -f 2- | tr ' ' '\n' | grep -E '^-([DI]|pthread)' | grep -v "PLATFORM" | sort | uniq | tr '\n' ' '`" \
-		"`echo '$(AP2_CPPFLAGS)' | cut -d= -f 2- | tr ' ' '\n' | grep -E '^-([DI]|pthread)' | grep -v "PLATFORM" | sort | uniq | tr '\n' ' '`" >> tmp_config_vars.mk ; \
-	printf "CFLAGS = %s %s\n" "`grep -E '(^|_)(CPPFLAGS|CFLAGS|INCLUDES)' config_vars.mk | cut -d= -f 2- | tr ' ' '\n' | grep -E '^-(D|I/|pthread)' | grep -v "PLATFORM" | sort | uniq | tr '\n' ' '`" \
-		"`echo '$(AP2_CFLAGS)' | cut -d= -f 2- | tr ' ' '\n' | grep -E '^-([DI]|pthread)' | grep -v "PLATFORM" | sort | uniq | tr '\n' ' '`" >> tmp_config_vars.mk ; \
-	ldflags="`grep -E '(^|_)(LDFLAGS)' config_vars.mk | cut -d= -f 2-` `echo '$(AP2_LDFLAGS)' | cut -d= -f 2-`" ; \
-	printf "LDFLAGS = %s\n" "`echo $$ldflags | tr ' ' '\n' | sort | uniq | tr '\n' ' '`" >> tmp_config_vars.mk ; \
-	printf "SH_LDFLAGS = \n" >> tmp_config_vars.mk ; \
-	printf "LT_LDFLAGS = \n" >> tmp_config_vars.mk ; \
-	printf "NOTEST_CPPFLAGS = \n" >> tmp_config_vars.mk ; \
-	printf "NOTEST_LDFLAGS = \n" >> tmp_config_vars.mk ; \
-	printf "EXTRA_CPPFLAGS = \n" >> tmp_config_vars.mk ; \
-	printf "EXTRA_CFLAGS = \n" >> tmp_config_vars.mk ; \
-	mv tmp_config_vars.mk config_vars.mk ) ;
+	perl ./debian/clean_config_vars '$(AP2_CFLAGS)' '$(AP2_CPPFLAGS)' '$(AP2_LDFLAGS)'
 
 %: %.in
 	sed 's#__SERVER_VERSION__#$(SERVER_VERSION)#; s#__MODULE_DIR__#$(MODULE_DIR)#; s#__API__#$(API)#;' $< > $@

-- 
Debian packaging for apache2 (Apache HTTPD 2.x)



More information about the Pkg-apache-commits mailing list