Bug#36426: dpkg: install-info fails when $? == SIGPIPE
Package: dpkg
Version: 1.4.1.1
When reading from a pipe install-info checks for the shell-translated
equivalent of SIGPIPE (128 + SIGPIPE, which as a wait status is 0x8D00),
but it doesn't check for an actual SIGPIPE itself (as a wait status,
a plain SIGPIPE, which is 0x0D). I don't know why this hasn't come up
before, but this morning I had some failures because of it.
# dpkg --pending --configure
Setting up xaos (3.0-10) ...
install-info: read gzip -d </usr/info/xaos.info.gz |: 13
dpkg: error processing xaos (--configure):
subprocess post-installation script returned error exit status 13
Setting up glibc-doc (2.1.1-0.2) ...
install-info: read gzip -d </usr/share/info/libc.info.gz |: 13
dpkg: error processing glibc-doc (--configure):
subprocess post-installation script returned error exit status 13
Errors were encountered while processing:
xaos
glibc-doc
Here is a patch.
--- install-info.~1~ Sun Jan 31 19:21:22 1999
+++ install-info Tue Apr 20 10:53:52 1999
@@ -348,7 +348,7 @@
}
sub checkpipe {
- return if !$pipeit || !$? || $?==0x8D00;
+ return if !$pipeit || !$? || $?==0x8D00 || $?==0x0D;
die "$name: read $filename: $?\n";
}
-- System Information
Debian Release: potato
Kernel Version: Linux jones 2.2.5-ac3-jones.1 #1 Fri Apr 2 13:28:07 EST 1999 i686 unknown
Versions of the packages dpkg depends on:
ii libc6 2.1.1-0.2 GNU C Library: shared libraries
ii libncurses4 4.2-3.2 Shared libraries for terminal handling
ii libstdc++2.9 2.91.61-1 The GNU stdc++ library (egcs version)
Reply to: