This is an automated email from the git hooks/post-receive script. nthykier pushed a commit to branch master in repository lintian.
commit 2dbb5716ee3ce29f8983ced56b14f10e4fe78f97 Author: Niels Thykier <[email protected]> Date: Sat Jan 31 21:29:24 2015 +0100 FrontendUtil: Work around a bug in autodie --- debian/changelog | 3 +++ lib/Lintian/Internal/FrontendUtil.pm | 15 +++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index 1c0628d..e853935 100644 --- a/debian/changelog +++ b/debian/changelog @@ -96,6 +96,9 @@ lintian (2.5.31) UNRELEASED; urgency=medium * lib/Lintian/Command.pm: + [NT] Use croak() rather than L::Util's fail() on errors. The issues are generally not "internal errors". + * lib/Lintian/Internal/FrontendUtil.pm: + + [NT] Work around a bug in autodie, where an fdopen of a + file-descriptor always failed with "bad file descriptor". * lib/Lintian/Util.pm: + [NT] Prefer dpkg-deb --ctrl-tarfile to "ar p" when dpkg is recent enough. diff --git a/lib/Lintian/Internal/FrontendUtil.pm b/lib/Lintian/Internal/FrontendUtil.pm index 5051ac7..601b13b 100644 --- a/lib/Lintian/Internal/FrontendUtil.pm +++ b/lib/Lintian/Internal/FrontendUtil.pm @@ -188,22 +188,29 @@ sub default_parallel { sub open_file_or_fd { my ($to_open, $mode) = @_; my $fd; + # autodie trips this for some reasons (possibly fixed + # in v2.26) + no autodie qw(open); if ($mode eq '<') { if ($to_open eq '-' or $to_open eq '&0') { $fd = \*STDIN; } elsif ($to_open =~ m/^\&\d+$/) { - open($fd, '<&=', substr($to_open, 1)); + open($fd, '<&=', substr($to_open, 1)) + or die("fdopen $to_open for reading: $!\n"); } else { - open($fd, '<', $to_open); + open($fd, '<', $to_open) + or die("open $to_open for reading: $!\n"); } } elsif ($mode eq '>') { if ($to_open eq '-' or $to_open eq '&1') { $fd = \*STDOUT; } elsif ($to_open =~ m/^\&\d+$/) { - open($fd, '>>&=', substr($to_open, 1)); + open($fd, '>&=', substr($to_open, 1)) + or die("fdopen $to_open for writing: $!\n"); } else { $mode = ">$mode" if $to_open =~ s/^\+//; - open($fd, $mode, $to_open); + open($fd, $mode, $to_open) + or die("open $to_open for write/append ($mode): $!\n"); } } else { croak("Invalid mode \"$mode\" for open_file_or_fd"); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/lintian/lintian.git -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: https://lists.debian.org/[email protected]

