The following commit has been merged in the master branch:
commit 00aaaa9d8603b75beb1164dc1ae3c4e874338606
Author: Raphael Hertzog <[EMAIL PROTECTED]>
Date:   Fri Apr 25 19:08:01 2008 +0200

    dpkg-source: parse correctly series files with patch options
    
    * scripts/Dpkg/Source/Package/V3_0/quilt.pm: Parse correctly
    series files with patch options and warn if something else than
    -p1 is used.
    * man/dpkg-source.1: Document how dpkg-source handles those patch
    options in series files.

diff --git a/ChangeLog b/ChangeLog
index 3705c6b..7bf5326 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2008-04-25  Raphael Hertzog  <[EMAIL PROTECTED]>
 
+       * scripts/Dpkg/Source/Package/V3_0/quilt.pm: Parse correctly
+       series files with patch options and warn if something else than
+       -p1 is used.
+       * man/dpkg-source.1: Document how dpkg-source handles those patch
+       options in series files.
+
+2008-04-25  Raphael Hertzog  <[EMAIL PROTECTED]>
+
        * scripts/Dpkg/Source/Package/V3_0/native.pm: Fix permissions of
        generated tarball to "666 & ~umask()".
 
diff --git a/debian/changelog b/debian/changelog
index 918db10..519550d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -25,6 +25,8 @@ dpkg (1.14.19) UNRELEASED; urgency=low
     dpkg-iasearch has been kept as popcon still reports a few installations.
   * Collapsed multiple conflicts of dpkg with old versions of dpkg-dev
     in a single Conflicts: dpkg-dev (<< 1.14.16).
+  * The "3.0 (quilt)" source package format now parses correctly series files
+    with patch options and warn if something else than -p1 is used.
   
   [ Helge Kreutzmann ]
   * Minor fixes and clarifications to man pages.
diff --git a/man/dpkg-source.1 b/man/dpkg-source.1
index b8c3550..b5c6a58 100644
--- a/man/dpkg-source.1
+++ b/man/dpkg-source.1
@@ -353,8 +353,15 @@ All patches listed in \fBdebian/patches/debian.series\fP or
 \fBdebian/patches/series\fP are then applied.
 If the former file is used and the latter one doesn't exist (or is a
 symlink), then the latter is replaced with a symlink to the former. This
-is meant to simplify usage of quilt to manage the set of patches. The
-patches can remove files.
+is meant to simplify usage of quilt to manage the set of patches. Note
+however that while \fBdpkg\-source\fP parses correctly series files with
+explicit options used for patch application (stored on each line
+after the patch filename and one or more spaces), it does ignore those
+options and always expect patches that can be applied with the \fB-p1\fP
+option of \fBpatch\fP. It will thus emit a warning when it encounters
+such options, and the build is likely to fail.
+.PP
+Similarly to quilt's default behaviour, the patches can remove files too.
 .PP
 The file \fBdebian/patches/.dpkg-source-applied\fP is created if some
 patches have been applied during the extraction.
diff --git a/scripts/Dpkg/Source/Package/V3_0/quilt.pm 
b/scripts/Dpkg/Source/Package/V3_0/quilt.pm
index d66c0e8..270fe7d 100644
--- a/scripts/Dpkg/Source/Package/V3_0/quilt.pm
+++ b/scripts/Dpkg/Source/Package/V3_0/quilt.pm
@@ -77,6 +77,15 @@ sub get_patches {
             chomp; s/^\s+//; s/\s+$//; # Strip leading/trailing spaces
             s/\s#.*$//; # Strip trailing comment
             next unless $_;
+            if (/^(\S+)\s+(.*)$/) {
+                $_ = $1;
+                if ($2 ne '-p1') {
+                    warning(_g("the series file (%s) contains unsupported " .
+                               "options ('%s', line %s), dpkg-source might " .
+                               "fail when applying patches."),
+                            $series, $2, $.) unless $skip_auto;
+                }
+            }
             next if $skip_auto and $_ eq $auto_patch;
             push @patches, $_;
         }

-- 
dpkg's main repository


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to