Bug#1026735: clusterssh: FTBFS: dh_auto_test: error: /usr/bin/perl Build test --verbose 1 returned exit code 255

2022-12-22 Thread tony mancill
Hi Gregor,

On Tue, Dec 20, 2022 at 07:31:55PM +0100, gregor herrmann wrote:
> Control: tag -1 + confirmed upstream
> 
> On Tue, 20 Dec 2022 18:28:10 +0100, Lucas Nussbaum wrote:
> 
> > Source: clusterssh
> > Version: 4.16-3
> > Severity: serious
> > Justification: FTBFS
> > Tags: bookworm sid ftbfs
> > User: lu...@debian.org
> > Usertags: ftbfs-20221220 ftbfs-bookworm
> 
> > > #   Failed test 'returned ok'
> > > #   at t/15config.t line 546.
> > > #  got: 'die'
> > > # expected: 'return'
> > > 
> > > #   Failed test 'Expecting no STDERR'
> > > #   at t/15config.t line 550.
> > > #  got: ''
> > > # expected: 'Unable to write default $HOME/.clusterssh/config: Is a 
> > > directory
> > > # 
> > > # '
> > > # Looks like you failed 2 tests of 155.
> > > t/15config.t .. 
> 
> > > # check failure to write default config is caught
> > > not ok 147 - returned ok
> > > ok 148 - An object of class 'App::ClusterSSH::Config' isa 
> > > 'App::ClusterSSH::Config'
> > > ok 149 - An object of class 'App::ClusterSSH::Config' isa 
> > > 'App::ClusterSSH::Config'
> > > ok 150 - Expecting no STDOUT
> > > not ok 151 - Expecting no STDERR
> 
> > > Test Summary Report
> > > ---
> 
> > > t/15config.t(Wstat: 512 (exited 2) Tests: 155 Failed: 2)
> > >   Failed tests:  147, 151
> > >   Non-zero exit status: 2
> 
> This reminds me of #1025722 in duck and is probably also caused by
> this change in perl:
> 
> perl (5.36.0-5) unstable; urgency=medium
> 
>   * Backported upstream changes:
> + only clear the stream error state in readline() for glob()
>   (Closes: #1016369)
> 
> The problem seems to be in lines 384 ff in write_user_config_file()
> in lib/App/ClusterSSH/Config.pm:
> 
>341  sub write_user_config_file {
> 
>384  # Debian #673507 - migrate clusters prior to writing 
> ~/.clusterssh/config
>385  # in order to update the extra_cluster_file property
>386  if (%old_clusters) {
>387  if ( open( my $fh, ">", "$ENV{HOME}/.clusterssh/clusters" ) ) 
> {
>388  print $fh '# '
>389  . $self->loc('Tag definitions moved from old .csshrc 
> file'),
>390  $/;
>391  foreach ( sort( keys(%old_clusters) ) ) {
>392  print $fh $_, ' ', join( ' ', $old_clusters{$_} ), $/;
>393  }
>394  close($fh);
>395  }
>396  else {
>397  croak(
>398  App::ClusterSSH::Exception::Config->throw(
>399  error => $self->loc(
>400  'Unable to write [_1]: [_2]' . $/,
>401  '$HOME/.clusterssh/clusters',
>402  $!
>403  ),
>404  ),
>405  );
>406  }
>407  }
> 
> 
> As #673507 is from 2012, I guess this code (and the tests) can be
> removed?

I think reference to #673507 is merely for context and that the behavior
implemented (with respect to the configuration file location and logic)
is the desired behavior.

Thank you for the pointer to the bug in duck [1].  I'll work on a patch.

Cheers,
tony

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1025722


signature.asc
Description: PGP signature


Bug#1026735: clusterssh: FTBFS: dh_auto_test: error: /usr/bin/perl Build test --verbose 1 returned exit code 255

2022-12-20 Thread gregor herrmann
Control: tag -1 + confirmed upstream

On Tue, 20 Dec 2022 18:28:10 +0100, Lucas Nussbaum wrote:

> Source: clusterssh
> Version: 4.16-3
> Severity: serious
> Justification: FTBFS
> Tags: bookworm sid ftbfs
> User: lu...@debian.org
> Usertags: ftbfs-20221220 ftbfs-bookworm

> > #   Failed test 'returned ok'
> > #   at t/15config.t line 546.
> > #  got: 'die'
> > # expected: 'return'
> > 
> > #   Failed test 'Expecting no STDERR'
> > #   at t/15config.t line 550.
> > #  got: ''
> > # expected: 'Unable to write default $HOME/.clusterssh/config: Is a 
> > directory
> > # 
> > # '
> > # Looks like you failed 2 tests of 155.
> > t/15config.t .. 

> > # check failure to write default config is caught
> > not ok 147 - returned ok
> > ok 148 - An object of class 'App::ClusterSSH::Config' isa 
> > 'App::ClusterSSH::Config'
> > ok 149 - An object of class 'App::ClusterSSH::Config' isa 
> > 'App::ClusterSSH::Config'
> > ok 150 - Expecting no STDOUT
> > not ok 151 - Expecting no STDERR

> > Test Summary Report
> > ---

> > t/15config.t(Wstat: 512 (exited 2) Tests: 155 Failed: 2)
> >   Failed tests:  147, 151
> >   Non-zero exit status: 2

This reminds me of #1025722 in duck and is probably also caused by
this change in perl:

perl (5.36.0-5) unstable; urgency=medium

  * Backported upstream changes:
+ only clear the stream error state in readline() for glob()
  (Closes: #1016369)

The problem seems to be in lines 384 ff in write_user_config_file()
in lib/App/ClusterSSH/Config.pm:

   341  sub write_user_config_file {

   384  # Debian #673507 - migrate clusters prior to writing 
~/.clusterssh/config
   385  # in order to update the extra_cluster_file property
   386  if (%old_clusters) {
   387  if ( open( my $fh, ">", "$ENV{HOME}/.clusterssh/clusters" ) ) {
   388  print $fh '# '
   389  . $self->loc('Tag definitions moved from old .csshrc 
file'),
   390  $/;
   391  foreach ( sort( keys(%old_clusters) ) ) {
   392  print $fh $_, ' ', join( ' ', $old_clusters{$_} ), $/;
   393  }
   394  close($fh);
   395  }
   396  else {
   397  croak(
   398  App::ClusterSSH::Exception::Config->throw(
   399  error => $self->loc(
   400  'Unable to write [_1]: [_2]' . $/,
   401  '$HOME/.clusterssh/clusters',
   402  $!
   403  ),
   404  ),
   405  );
   406  }
   407  }


As #673507 is from 2012, I guess this code (and the tests) can be
removed?


Cheers,
gregor


-- 
 .''`.  https://info.comodo.priv.at -- Debian Developer https://www.debian.org
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
 `. `'  Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
   `-   


signature.asc
Description: Digital Signature


Bug#1026735: clusterssh: FTBFS: dh_auto_test: error: /usr/bin/perl Build test --verbose 1 returned exit code 255

2022-12-20 Thread Lucas Nussbaum
Source: clusterssh
Version: 4.16-3
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20221220 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
>  debian/rules binary
> dh binary --with bash-completion
>dh_update_autotools_config
>dh_autoreconf
>dh_auto_configure
>   /usr/bin/perl Build.PL --installdirs vendor --config "optimize=-g -O2 
> -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat 
> -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" --config 
> "ld=x86_64-linux-gnu-gcc -g -O2 -ffile-prefix-map=/<>=. 
> -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro"
> Could not get valid metadata. Error is: ERROR: Missing required field 
> 'dist_abstract' for metafile
> 
> Could not create MYMETA files
> Creating new 'Build' script for 'App-ClusterSSH' version '4.16'
>dh_auto_build
>   /usr/bin/perl Build
> Building App-ClusterSSH
> Using perl binary: /usr/bin/perl
> Using perl version v5.36.0
> Generating: /<>/bin_PL/cssh
> Generating: /<>/bin_PL/csftp
> Generating: /<>/bin_PL/ccon
> Generating: /<>/bin_PL/crsh
> Generating: /<>/bin_PL/ctel
> Generating: /<>/bin_PL/clusterssh_bash_completion.dist
>dh_auto_test
>   /usr/bin/perl Build test --verbose 1
> t/00-load.t ... 
> 1..1
> ok 1 - use App::ClusterSSH;
> # Testing App::ClusterSSH 4.16, Perl 5.036000, /usr/bin/perl
> ok
> t/01l10n.t  
> 1..2
> ok 1 - use App::ClusterSSH::L10N;
> ok 2 - An object of class 'App::ClusterSSH::L10N::en' isa 
> 'App::ClusterSSH::L10N'
> ok
> t/02base.t  
> ok 1 - use App::ClusterSSH::Base;
> ok 2 - An object of class 'App::ClusterSSH::Base' isa 'App::ClusterSSH::Base'
> ok 3 - returned ok
> ok 4 - returned ok
> ok 5 - Expecting no STDERR
> ok 6 - got correct number of print lines
> ok 7 - checking for expected print output
> ok 8 - debug level is correct
> ok 9 - returned ok
> ok 10 - returned ok
> ok 11 - Expecting no STDERR
> ok 12 - got correct number of debug lines
> ok 13 - checking for expected debug output
> ok 14 - debug level is correct
> ok 15 - returned ok
> ok 16 - returned ok
> ok 17 - Expecting no STDERR
> ok 18 - got correct number of debug lines
> ok 19 - checking for expected debug output
> ok 20 - debug level is correct
> ok 21 - returned ok
> ok 22 - returned ok
> ok 23 - Expecting no STDERR
> ok 24 - got correct number of debug lines
> ok 25 - checking for expected debug output
> ok 26 - debug level is correct
> ok 27 - returned ok
> ok 28 - returned ok
> ok 29 - Expecting no STDERR
> ok 30 - got correct number of debug lines
> ok 31 - checking for expected debug output
> ok 32 - debug level is correct
> ok 33 - returned ok
> ok 34 - returned ok
> ok 35 - Expecting no STDERR
> ok 36 - got correct number of debug lines
> ok 37 - checking for expected debug output
> ok 38 - debug level is correct
> ok 39 - returned ok
> ok 40 - returned ok
> ok 41 - Expecting no STDERR
> ok 42 - got correct number of debug lines
> ok 43 - checking for expected debug output
> ok 44 - debug level is correct
> ok 45 - returned ok
> ok 46 - returned ok
> ok 47 - Expecting no STDERR
> ok 48 - got correct number of debug lines
> ok 49 - checking for expected debug output
> ok 50 - debug level is correct
> ok 51 - returned ok
> ok 52 - returned ok
> ok 53 - Expecting no STDERR
> ok 54 - got correct number of debug lines
> ok 55 - checking for expected debug output
> ok 56 - debug level is correct
> ok 57 - returned ok
> ok 58 - returned ok
> ok 59 - Expecting no STDERR
> ok 60 - got correct number of debug lines
> ok 61 - checking for expected debug output
> ok 62 - debug level is correct
> ok 63 - returned ok
> ok 64 - returned ok
> ok 65 - Expecting no STDERR
> ok 66 - got correct number of debug lines
> ok 67 - checking for expected debug output
> ok 68 - 'Caught exception object OK' isa 'App::ClusterSSH::Exception'
> ok 69 - returned ok
> ok 70 - Expecting no STDERR
> ok 71 - Expecting no STDOUT
> ok 72 - Got correct croak text
> ok 73 - checking debug_level reset to 9
> ok 74 - An object of class 'App::ClusterSSH::Base' isa 'App::ClusterSSH::Base'
> ok 75 - returned ok
> ok 76 - returned ok
> ok 77 - Expecting no STDERR
> ok 78 - got new() debug output lines
> ok 79 - got expected new() output
> ok 80 - An object of class 'App::ClusterSSH::Base' isa 'App::ClusterSSH::Base'
> ok 81 - returned ok
> ok 82 - returned ok
> ok 83 - Expecting no STDERR
> ok 84 - got new() debug output lines
> ok 85 - got expected new() output
> ok 86 - An object of class 'App::ClusterSSH::Base' isa 'App::ClusterSSH::Base'
> ok 87 - returned ok
> ok 88 - returned ok
> ok 89 - Expecting no STDERR
> ok 90 - got new() debug output lines
> ok 91 - got expected new() output
> ok 92 - An object of class 'App::ClusterSSH::Base' isa 'App::ClusterSSH::Base'
> ok 93 - returned ok
> ok 94 - returned ok
> ok 95 - Expecting no STDERR
> ok 96 - got new()