]> err.no Git - dpkg/commitdiff
dpkg-source: fix regex used to identify extension of .orig tarball
authorRaphael Hertzog <hertzog@debian.org>
Thu, 22 Nov 2007 17:35:34 +0000 (18:35 +0100)
committerRaphael Hertzog <hertzog@debian.org>
Thu, 22 Nov 2007 17:35:34 +0000 (18:35 +0100)
Regex special meta-characters (mainly like "+" in versions) embedded in $basename
made the regex fail which resulted in unwanted upgrade of source packages to
Format: 2.0.

ChangeLog
debian/changelog
scripts/dpkg-source.pl

index 42e0c4c1648713148cac0bffe53e12ec9cd4d0e9..fc4bb34517e61660493e201169facccc0f976284 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,8 @@
        at the beginning of the list of path to search, even if they
        are already listed (one might want to use LD_LIBRARY_PATH to
        change the search order).
+       * scripts/dpkg-source.pl: Fix regex used to identify the extension
+       of the orig.tar.{gz,bz2,lzma} file.
 
 2007-11-21  Raphael Hertzog  <hertzog@debian.org>
 
index 5b14a49aa83c317628b502309a4abb26616a75b2..6b64d0fa34cc8a18bbc2bbcaf64d40be64d69afe 100644 (file)
@@ -11,6 +11,9 @@ dpkg (1.14.10) UNRELEASED; urgency=low
   * dpkg-shlibdeps will try harder to identify packages providing a library
     by looking up dpkg -S on the realpath of any symlink to a library.
     Closes: #452339
+  * dpkg-source now correctly identifies the extension of the
+    orig.tar.{gz,bz2,lzma} file and won't unexpectedly create "Format: 2.0"
+    .dsc files.
 
   [ Updated man pages translations ]
   * Swedish (Peter Karlsson)
index b82b9d140af6ad9a425c555b5dc9770bd2b6b02e..94589c624c30091ef836509139ddc725f2c1237a 100755 (executable)
@@ -502,11 +502,13 @@ if ($opmode eq 'build') {
         $tardirbase= $origdirbase; $tardirname= $origdirname;
 
        $tarname= $origtargz || "$basename.orig.tar.$comp_ext";
-       $tarname =~ /$basename.orig.tar.($comp_regex)/ ||
+       if ($tarname =~ /\Q$basename\E\.orig\.tar\.($comp_regex)/) {
+           if (($1 ne 'gz') && ($f{'Format'} < 2)) { $f{'Format'} = '2.0' };
+       } else {
            warning(_g(".orig.tar name %s is not <package>_<upstreamversion>" .
                       ".orig.tar (wanted %s)"),
                    $tarname, "$basename.orig.tar.$comp_regex");
-       if (($1 ne 'gz') && ($f{'Format'} < 2)) { $f{'Format'} = '2.0' };
+       }
     } else {
        $tardirbase= $dirbase; $tardirname= $dirname;
        $tarname= "$basenamerev.tar.$comp_ext";