chiark / gitweb /
dgit: Import handling Do not crash due in clone
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 16 Oct 2016 17:32:20 +0000 (18:32 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 16 Oct 2016 17:32:25 +0000 (18:32 +0100)
Previously we failed to handle dpkg-parsechangelog SIGPIPE.
Closes:#840989.

Fixes:
  dgit: failed command: dpkg-parsechangelog --format rfc822 --all
  dgit: subprocess died due to fatal signal PIPE

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
debian/changelog
dgit

index e35438e2a4e0d28edd79f9ec90c8454ded87d6bf..505f3927158c6c8ab82773ad5595044311adaad3 100644 (file)
@@ -1,5 +1,9 @@
 dgit (2.1~~) unstable; urgency=medium
 
 dgit (2.1~~) unstable; urgency=medium
 
+  * Do not crash due in clone to failure to handle dpkg-parsechangelog
+    SIGPIPE.  Closes:#840989.  Avoids:
+       dgit: failed command: dpkg-parsechangelog --format rfc822 --all
+       dgit: subprocess died due to fatal signal PIPE
   * git- prefixes: Fix some occurrences of `git-foo' in infrastructure,
     messages, and test suite.  Filter out .../git-core from PATH in
     test suite so that we catch future occurrences.
   * git- prefixes: Fix some occurrences of `git-foo' in infrastructure,
     messages, and test suite.  Filter out .../git-core from PATH in
     test suite so that we catch future occurrences.
diff --git a/dgit b/dgit
index 0507899b1f9a18ff17ba48b5a2a8426ec726ab28..a568c579a00041813506a2425617304431126481 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -1846,7 +1846,7 @@ sub generate_commits_from_dsc () {
        printdebug "import clog $r1clogp->{version} becomes r1\n";
     }
     die $! if CLOGS->error;
        printdebug "import clog $r1clogp->{version} becomes r1\n";
     }
     die $! if CLOGS->error;
-    close CLOGS or $?==(SIGPIPE<<8) or failedcmd @clogcmd;
+    close CLOGS or $?==SIGPIPE or failedcmd @clogcmd;
 
     $clogp or fail "package changelog has no entries!";
 
 
     $clogp or fail "package changelog has no entries!";