Niels Thykier: > Package: release.debian.org > Severity: normal > User: [email protected] > Usertags: unblock > > Please unblock package lintian > > The 2.5.50.2 unload works around a "perl stack" corruption (not to be > confused with perl's C stack) and makes a gnuplot file compability > with gnuplot 5 (so it works with the version we are shipping in > stretch). > > I will expand on the stack corruption below in case it is relevant for > your understanding of the issue and the fix[1]. That said, the fix is > shorter than my explanation, so you may just want to skip ahead to the > debdiff. > > unblock lintian/2.5.50.2 > > Thanks, > ~Niels > > [...]
Fumble-fingered reportbug, here is the debdiff. The upload is in the queue and should be ACCEPTed soon. :) Thanks, ~Niels
diff -Nru lintian-2.5.50.1/debian/changelog lintian-2.5.50.2/debian/changelog --- lintian-2.5.50.1/debian/changelog 2017-02-04 16:05:07.000000000 +0100 +++ lintian-2.5.50.2/debian/changelog 2017-04-30 09:40:24.000000000 +0200 @@ -1,3 +1,16 @@ +lintian (2.5.50.2) unstable; urgency=medium + + * frontend/dplint: + + [NT] Work around a "Bizarre Copy" bug in perl that could trigger + on errors. Notably, this bug causes the reporting framework in + lintian to break with a very non-informative error when the + "state-cache" is not present. + + * reporting/graphs/tags.gpi: + + [NT] Tweak tags.gpi so it works with gnuplot 5. + + -- Niels Thykier <[email protected]> Sun, 30 Apr 2017 07:40:24 +0000 + lintian (2.5.50.1) unstable; urgency=medium * debian/copyright: diff -Nru lintian-2.5.50.1/frontend/dplint lintian-2.5.50.2/frontend/dplint --- lintian-2.5.50.1/frontend/dplint 2017-01-29 21:00:48.000000000 +0100 +++ lintian-2.5.50.2/frontend/dplint 2017-04-30 09:34:30.000000000 +0200 @@ -82,7 +82,7 @@ } sub run_tool { - my ($truename, $tool, @args) = @_; + my ($truename, $tool) = @_; for my $include_dir (@INCLUDE_DIRS) { my $tool_path = "$include_dir/commands/${tool}"; my $tool_pm_path = "${tool_path}.pm"; @@ -92,12 +92,12 @@ } { # Scope here it to avoid a warning about exec not returning. - exec {$tool_path} $truename, @args; + exec {$tool_path} $truename, @ARGV; } local $" = ' '; error( "Running $tool failed!", - " Command: $tool_path @args", + " Command: $tool_path @ARGV", " Error from exec: $!" ); } @@ -273,7 +273,7 @@ error("Built-in $cmd returned unexpectedly"); } $truename //= $cmd; - run_tool($truename, $cmd, @ARGV); + run_tool($truename, $cmd); error('run_tool returned unexpectedly'); } diff -Nru lintian-2.5.50.1/frontend/lintian lintian-2.5.50.2/frontend/lintian --- lintian-2.5.50.1/frontend/lintian 2017-01-29 21:00:48.000000000 +0100 +++ lintian-2.5.50.2/frontend/lintian 2017-04-30 09:34:30.000000000 +0200 @@ -82,7 +82,7 @@ } sub run_tool { - my ($truename, $tool, @args) = @_; + my ($truename, $tool) = @_; for my $include_dir (@INCLUDE_DIRS) { my $tool_path = "$include_dir/commands/${tool}"; my $tool_pm_path = "${tool_path}.pm"; @@ -92,12 +92,12 @@ } { # Scope here it to avoid a warning about exec not returning. - exec {$tool_path} $truename, @args; + exec {$tool_path} $truename, @ARGV; } local $" = ' '; error( "Running $tool failed!", - " Command: $tool_path @args", + " Command: $tool_path @ARGV", " Error from exec: $!" ); } @@ -273,7 +273,7 @@ error("Built-in $cmd returned unexpectedly"); } $truename //= $cmd; - run_tool($truename, $cmd, @ARGV); + run_tool($truename, $cmd); error('run_tool returned unexpectedly'); } diff -Nru lintian-2.5.50.1/frontend/lintian-info lintian-2.5.50.2/frontend/lintian-info --- lintian-2.5.50.1/frontend/lintian-info 2017-01-29 21:00:48.000000000 +0100 +++ lintian-2.5.50.2/frontend/lintian-info 2017-04-30 09:34:30.000000000 +0200 @@ -82,7 +82,7 @@ } sub run_tool { - my ($truename, $tool, @args) = @_; + my ($truename, $tool) = @_; for my $include_dir (@INCLUDE_DIRS) { my $tool_path = "$include_dir/commands/${tool}"; my $tool_pm_path = "${tool_path}.pm"; @@ -92,12 +92,12 @@ } { # Scope here it to avoid a warning about exec not returning. - exec {$tool_path} $truename, @args; + exec {$tool_path} $truename, @ARGV; } local $" = ' '; error( "Running $tool failed!", - " Command: $tool_path @args", + " Command: $tool_path @ARGV", " Error from exec: $!" ); } @@ -273,7 +273,7 @@ error("Built-in $cmd returned unexpectedly"); } $truename //= $cmd; - run_tool($truename, $cmd, @ARGV); + run_tool($truename, $cmd); error('run_tool returned unexpectedly'); } diff -Nru lintian-2.5.50.1/frontend/lintian-lab-tool lintian-2.5.50.2/frontend/lintian-lab-tool --- lintian-2.5.50.1/frontend/lintian-lab-tool 2017-01-29 21:00:48.000000000 +0100 +++ lintian-2.5.50.2/frontend/lintian-lab-tool 2017-04-30 09:34:30.000000000 +0200 @@ -82,7 +82,7 @@ } sub run_tool { - my ($truename, $tool, @args) = @_; + my ($truename, $tool) = @_; for my $include_dir (@INCLUDE_DIRS) { my $tool_path = "$include_dir/commands/${tool}"; my $tool_pm_path = "${tool_path}.pm"; @@ -92,12 +92,12 @@ } { # Scope here it to avoid a warning about exec not returning. - exec {$tool_path} $truename, @args; + exec {$tool_path} $truename, @ARGV; } local $" = ' '; error( "Running $tool failed!", - " Command: $tool_path @args", + " Command: $tool_path @ARGV", " Error from exec: $!" ); } @@ -273,7 +273,7 @@ error("Built-in $cmd returned unexpectedly"); } $truename //= $cmd; - run_tool($truename, $cmd, @ARGV); + run_tool($truename, $cmd); error('run_tool returned unexpectedly'); } diff -Nru lintian-2.5.50.1/frontend/spellintian lintian-2.5.50.2/frontend/spellintian --- lintian-2.5.50.1/frontend/spellintian 2017-01-29 21:00:48.000000000 +0100 +++ lintian-2.5.50.2/frontend/spellintian 2017-04-30 09:34:30.000000000 +0200 @@ -82,7 +82,7 @@ } sub run_tool { - my ($truename, $tool, @args) = @_; + my ($truename, $tool) = @_; for my $include_dir (@INCLUDE_DIRS) { my $tool_path = "$include_dir/commands/${tool}"; my $tool_pm_path = "${tool_path}.pm"; @@ -92,12 +92,12 @@ } { # Scope here it to avoid a warning about exec not returning. - exec {$tool_path} $truename, @args; + exec {$tool_path} $truename, @ARGV; } local $" = ' '; error( "Running $tool failed!", - " Command: $tool_path @args", + " Command: $tool_path @ARGV", " Error from exec: $!" ); } @@ -273,7 +273,7 @@ error("Built-in $cmd returned unexpectedly"); } $truename //= $cmd; - run_tool($truename, $cmd, @ARGV); + run_tool($truename, $cmd); error('run_tool returned unexpectedly'); } diff -Nru lintian-2.5.50.1/reporting/graphs/tags.gpi lintian-2.5.50.2/reporting/graphs/tags.gpi --- lintian-2.5.50.1/reporting/graphs/tags.gpi 2016-09-25 20:21:58.000000000 +0200 +++ lintian-2.5.50.2/reporting/graphs/tags.gpi 2017-04-29 19:53:57.000000000 +0200 @@ -1,4 +1,4 @@ -tag="$0" +tag=sprintf("%s", ARG1) # set terminal png truecolor small size 600,300 set terminal svg size 640,375 font "Sans,11" diff -Nru lintian-2.5.50.1/reporting/harness lintian-2.5.50.2/reporting/harness --- lintian-2.5.50.1/reporting/harness 2017-01-29 21:00:48.000000000 +0100 +++ lintian-2.5.50.2/reporting/harness 2017-04-30 09:34:30.000000000 +0200 @@ -82,7 +82,7 @@ } sub run_tool { - my ($truename, $tool, @args) = @_; + my ($truename, $tool) = @_; for my $include_dir (@INCLUDE_DIRS) { my $tool_path = "$include_dir/commands/${tool}"; my $tool_pm_path = "${tool_path}.pm"; @@ -92,12 +92,12 @@ } { # Scope here it to avoid a warning about exec not returning. - exec {$tool_path} $truename, @args; + exec {$tool_path} $truename, @ARGV; } local $" = ' '; error( "Running $tool failed!", - " Command: $tool_path @args", + " Command: $tool_path @ARGV", " Error from exec: $!" ); } @@ -273,7 +273,7 @@ error("Built-in $cmd returned unexpectedly"); } $truename //= $cmd; - run_tool($truename, $cmd, @ARGV); + run_tool($truename, $cmd); error('run_tool returned unexpectedly'); }

