The following commit has been merged in the lenny branch:
commit 99d871ef65a051c19d330cdbda16ca9470123897
Author: Raphael Hertzog <[EMAIL PROTECTED]>
Date:   Sun Jun 8 21:03:24 2008 +0200

    dpkg-source/3.0 (quilt): use absolute path names with quilt
    
    * scripts/Dpkg/Source/Package/V3/quilt.pm: Use absolute path names
    when giving directories and filenames to quilt to avoid any
    problems due to quilt's feature of trying relative paths in parent
    directories too.

diff --git a/ChangeLog b/ChangeLog
index 59f5007..a7ada4a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-06-08  Raphael Hertzog  <[EMAIL PROTECTED]>
+
+       * scripts/Dpkg/Source/Package/V3/quilt.pm: Use absolute path names
+       when giving directories and filenames to quilt to avoid any
+       problems due to quilt's feature of trying relative paths in parent
+       directories too.
+
 2008-06-07  Raphael Hertzog  <[EMAIL PROTECTED]>
 
        * scripts/Dpkg/Source/Patch.pm (analyze): Accept unexpected
diff --git a/scripts/Dpkg/Source/Package/V3/quilt.pm 
b/scripts/Dpkg/Source/Package/V3/quilt.pm
index 7f3fae4..f97794a 100644
--- a/scripts/Dpkg/Source/Package/V3/quilt.pm
+++ b/scripts/Dpkg/Source/Package/V3/quilt.pm
@@ -101,8 +101,12 @@ sub get_patches {
 sub run_quilt {
     my ($self, $dir, $params, %more_opts) = @_;
     $params = [ $params ] unless ref($params) eq "ARRAY";
+    my $absdir = $dir;
+    unless (File::Spec->file_name_is_absolute($absdir)) {
+        $absdir = File::Spec->rel2abs($dir);
+    }
     my %opts = (
-        env => { QUILT_PATCHES => 'debian/patches' },
+        env => { QUILT_PATCHES => "$absdir/debian/patches" },
         'chdir' => $dir,
         'exec' => [ 'quilt', '--quiltrc', '/dev/null', @$params ],
         %more_opts
@@ -214,6 +218,10 @@ sub register_autopatch {
     $series ||= File::Spec->catfile($dir, "debian", "patches", "series");
     my $applied = File::Spec->catfile($dir, "debian", "patches", 
".dpkg-source-applied");
     my $patch = File::Spec->catfile($dir, "debian", "patches", $auto_patch);
+    my $absdir = $dir;
+    unless (File::Spec->file_name_is_absolute($absdir)) {
+        $absdir = File::Spec->rel2abs($dir);
+    }
     if (-e $patch) {
         # Add auto_patch to series file
         if (not $has_patch) {
@@ -228,7 +236,7 @@ sub register_autopatch {
                 # again with quilt this time
                 my $patch_obj = Dpkg::Source::Patch->new(filename => $patch);
                 $patch_obj->apply($dir, add_options => ['-R', '-E']);
-                $self->run_quilt($dir, ['import', 
"debian/patches/$auto_patch"],
+                $self->run_quilt($dir, ['import', 
"$absdir/debian/patches/$auto_patch"],
                                  wait_child => 1, to_file => '/dev/null');
                 $self->run_quilt($dir, ['push'], wait_child => 1, to_file => 
'/dev/null');
             } else {

-- 
dpkg's main repository


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

Reply via email to