PaulHowarth/Blog/2022-03-24

Thursday 24th March 2022

Fedora Project

  • Updated perl-MouseX-App-Cmd (0.30) in F-35 to fix FTBFS due to test failure in t/build_emulates_new.t

  • I added this patch, based on the change to fix the equivalent issue in MooseX::App::Cmd

  •    1 Based on https://github.com/moose/MooseX-App-Cmd/commit/631fdba06b3ec24acc3c95d51e85f433063ac800
       2 
       3 Soften test to handle changes in App::Cmd 0.332 (RT#134752)
       4 
       5 --- t/build_emulates_new.t
       6 +++ t/build_emulates_new.t
       7 @@ -15,4 +15,8 @@ use Test::More tests => 1;
       8  
       9  }
      10  
      11 -is_deeply( \%{ Bar->new }, \%{ Foo->new }, 'Internal hashes match' );
      12 +my @attrs = qw(arg0 command full_arg0 show_version);
      13 +my $foo; @{$foo}{@attrs} = @{ Foo->new }{@attrs};
      14 +my $bar; @{$bar}{@attrs} = @{ Bar->new }{@attrs};
      15 +
      16 +is_deeply( $bar, $foo, 'Internal hashes match' );
      17 
    
  • That was in addition to this existing patch for compatibility with App::Cmd version 0.328:

  •    1 App-Cmd-0.328 something changed and that broke MouseX::App::Cmd.
       2 
       3 This patch is similar to change in MooseX-App-Cmd-0.32. It adds
       4 dependency on MouseX::NonMoose.
       5 
       6 CPAN RT#107068
       7 
       8 Petr Písař: Ported to 0.30.
       9 
      10 Signed-off-by: Petr Písař <ppisar@redhat.com>
      11 ---
      12  lib/MouseX/App/Cmd.pm | 20 ++------------------
      13  1 file changed, 2 insertions(+), 18 deletions(-)
      14 
      15 diff --git a/lib/MouseX/App/Cmd.pm b/lib/MouseX/App/Cmd.pm
      16 index d9bc2bc..30446bd 100644
      17 --- a/lib/MouseX/App/Cmd.pm
      18 +++ b/lib/MouseX/App/Cmd.pm
      19 @@ -3,27 +3,11 @@ use 5.006;
      20  package MouseX::App::Cmd; # git description: v0.29-32-g69e2d04
      21  use Mouse;
      22  use English '-no_match_vars';
      23 -use File::Basename ();
      24 +use MouseX::NonMoose;
      25 +extends 'App::Cmd';
      26  
      27  our $VERSION = '0.30'; # VERSION
      28  use namespace::autoclean;
      29 -extends 'Mouse::Object', 'App::Cmd';
      30 -
      31 -sub BUILDARGS {
      32 -    my ( undef, @arg ) = @_;
      33 -    return {} if !@arg;
      34 -    return { arg => $arg[0] } if 1 == @arg;
      35 -    return {@arg};
      36 -}
      37 -
      38 -sub BUILD {
      39 -    my $self  = shift;
      40 -    my $class = blessed $self;
      41 -    $self->{arg0}      = File::Basename::basename($PROGRAM_NAME);
      42 -    $self->{command}   = $class->_command( {} );
      43 -    $self->{full_arg0} = $PROGRAM_NAME;
      44 -    return;
      45 -}
      46  
      47  ## no critic (Modules::RequireExplicitInclusion)
      48  __PACKAGE__->meta->make_immutable();
      49 -- 
      50 2.4.3
    
  • I did this so that the Fedora 35 FTBFS (Bug #1939439) and FTI (Bug #1964649) bugs could be closed; the package is retired in later Fedora releases and I have no interest in bringing it back (it has even disappeared from MetaCPAN so there's no upstream anyway)

  • Updated perl-Net-SSH-Perl (2.14) in Rawhide to drop the weak dependency on the Crypt::RSA module, which I also maintain but intend to retire in the near future

  • Branched and built perl-Class-Accessor-Lite (0.08) for EPEL-9


Recent