Package: python-central
Version: 0.6.8
Tags: lenny patch

Script dh_pycentral lacks \Q\E in a few places dealing with $tmp.
This causes failure when building python packages with a name
containing special characters such as '+'.

The attached patch fixes it.
--- dh_pycentral.orig   2008-08-08 11:32:29.000000000 +0200
+++ dh_pycentral        2008-08-08 11:33:10.000000000 +0200
@@ -271,7 +271,7 @@
                        my $dir;
                        foreach $dir (@dirs) {
                                if ($fn =~ m/\Q$dir\E/) {
-                                       $dir =~ s/^$tmp//;
+                                       $dir =~ s/^\Q$tmp\E//;
                                        verbose_print("Memorizing dir to 
byte-compile: $dir");
                                        $private_dirs_list{"$dir"} = 1;
                                }
@@ -289,7 +289,7 @@
                        } else {
                                $deps |= SO_PRIVATE_MODULE;
                        }
-               } elsif ($fn =~ m|$tmp/usr/lib/python([\d\.]+)/site-packages/|) 
{
+               } elsif ($fn =~ 
m|\Q$tmp\E/usr/lib/python([\d\.]+)/site-packages/|) {
                        $pyversions_found{$1} = 1;
                        my $v = $1;
                        if (/\.py$/) {
@@ -299,7 +299,7 @@
                                verbose_print("Found public extension: $fn");
                                $verdeps{"python$v"} |= SO_PUBLIC_MODULE;
                        }
-               } elsif ($fn =~ m|$tmp/usr/lib/python([\d\.]+)/|) {
+               } elsif ($fn =~ m|\Q$tmp\E/usr/lib/python([\d\.]+)/|) {
                        $pyversions_found{$1} = 1;
                        my $v = $1;
                        if (/\.py$/) {
@@ -309,7 +309,7 @@
                                verbose_print("Found official extension: $fn");
                                $verdeps{"python$v"} |= SO_OFFICIAL_MODULE;
                        }
-               } elsif ($fn =~ 
m|$tmp/usr/lib/python-support/[^/]+/python([\d\.]+)/|) {
+               } elsif ($fn =~ 
m|\Q$tmp\E/usr/lib/python-support/[^/]+/python([\d\.]+)/|) {
                        $pyversions_found{$1} = 1;
                        my $v = $1;
                        if (/\.py$/) {
@@ -319,14 +319,14 @@
                                verbose_print("Found public extension: $fn");
                                $verdeps{"python$v"} |= SO_PUBLIC_MODULE;
                        }
-               } elsif ($fn =~ 
m{$tmp(?:/usr/share/pyshared/|/usr/share/python-support/)}) {
+               } elsif ($fn =~ 
m{\Q$tmp\E(?:/usr/share/pyshared/|/usr/share/python-support/)}) {
                        if (/\.py$/) {
                                verbose_print("Found public module: $fn");
                                $deps |= PY_PUBLIC_MODULE;
                        } # No extensions here
-               } elsif ($fn =~ m|$tmp/usr/lib/python([\d\.]+)/site-packages/|) 
{
+               } elsif ($fn =~ 
m|\Q$tmp\E/usr/lib/python([\d\.]+)/site-packages/|) {
                        
-               } elsif ($fn =~ m|$tmp/usr/share/doc/|) {
+               } elsif ($fn =~ m|\Q$tmp\E/usr/share/doc/|) {
                        # Ignore .py files in doc directory
                } else {
                        # Unknown pyfiles

Reply via email to