Bug 1089247 - perl-Git-CPAN-Patch-0.8.0-5.fc21 FTBFS
Summary: perl-Git-CPAN-Patch-0.8.0-5.fc21 FTBFS
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: perl-Git-CPAN-Patch
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Petr Pisar
QA Contact: Fedora Extras Quality Assurance
URL: http://koji.fedoraproject.org/koji/ta...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-04-18 10:49 UTC by Petr Pisar
Modified: 2014-04-18 11:49 UTC (History)
3 users (show)

Fixed In Version: perl-Git-CPAN-Patch-0.8.0-6.fc21
Clone Of:
Environment:
Last Closed: 2014-04-18 11:49:02 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Fix in the test (1.34 KB, patch)
2014-04-18 11:38 UTC, Petr Pisar
no flags Details | Diff

Description Petr Pisar 2014-04-18 10:49:34 UTC
perl-Git-CPAN-Patch-0.8.0-5.fc21 fails to build in F21 because tests fail:

#   Failed test 'require MooseX::App::Cmd::Command;'
#   at t/000-report-versions.t line 441.
Bailout called.  Further testing stopped:  can't load MooseX::App::Cmd::Command
#     Tried to require 'MooseX::App::Cmd::Command'.
#     Error:  Could not load class (MouseX::Getopt) because : Can't locate MouseX/Getopt.pm in @INC (you may need to install the MouseX::Getopt module) (@INC contains: /builddir/build/BUILD/Git-CPAN-Patch-0.8.0/blib/lib /builddir/build/BUILD/Git-CPAN-Patch-0.8.0/blib/arch /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/lib64/perl5/vendor_perl/Mouse/Util.pm line 283.
#  at /usr/lib64/perl5/vendor_perl/Mouse/Util.pm line 292.
#       Mouse::Util::load_class("MouseX::Getopt") called at /usr/lib64/perl5/vendor_perl/Mouse/Util.pm line 315
#       Mouse::Util::apply_all_roles("MooseX::App::Cmd::Command", "MouseX::Getopt") called at /usr/lib64/perl5/vendor_perl/Mouse.pm line 40
#       Mouse::with("MouseX::Getopt") called at /usr/share/perl5/vendor_perl/MooseX/App/Cmd/Command.pm line 10
#       require MooseX/App/Cmd/Command.pm called at (eval 401) line 2
#       eval 'package main;
# require MooseX::App::Cmd::Command;
# 1;
# ' called at /usr/share/perl5/vendor_perl/Test/More.pm line 992
#       Test::More::_eval("package main;\x{a}require MooseX::App::Cmd::Command;\x{a}1;\x{a}") called at /usr/share/perl5/vendor_perl/Test/More.pm line 859
#       Test::More::require_ok("MooseX::App::Cmd::Command") called at t/000-report-versions.t line 441
#       main::BEGIN() called at /usr/share/perl5/vendor_perl/MooseX/App/Cmd/Command.pm line 0
#       eval {...} called at /usr/share/perl5/vendor_perl/MooseX/App/Cmd/Command.pm line 0
# Compilation failed in require at (eval 401) line 2.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 255 just after 23.
FAILED--Further testing stopped: can't load MooseX::App::Cmd::Command

This because of incompatibility with current MooseX::App::Cmd::Command. MooseX::App::Cmd::Command is to be used with Moose, while Mouse implementation should use MouseX::App::Cmd::Command.

Comment 1 Petr Pisar 2014-04-18 11:26:21 UTC
Well, it's because MooseX::App::Cmd::Command uses Any::Moose and Any::Moose prefers Mouse:

$ perl -e 'use MooseX::App::Cmd::Command'
Could not load class (MouseX::Getopt) because : Can't locate MouseX/Getopt.pm in @INC (you may need to install the MouseX::Getopt module) (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/lib64/perl5/vendor_perl/Mouse/Util.pm line 283.
 at /usr/lib64/perl5/vendor_perl/Mouse/Util.pm line 292.
        Mouse::Util::load_class("MouseX::Getopt") called at /usr/lib64/perl5/vendor_perl/Mouse/Util.pm line 315
        Mouse::Util::apply_all_roles("MooseX::App::Cmd::Command", "MouseX::Getopt") called at /usr/lib64/perl5/vendor_perl/Mouse.pm line 40
        Mouse::with("MouseX::Getopt") called at /usr/share/perl5/vendor_perl/MooseX/App/Cmd/Command.pm line 10
        require MooseX/App/Cmd/Command.pm called at -e line 1
        main::BEGIN() called at /usr/share/perl5/vendor_perl/MooseX/App/Cmd/Command.pm line 0
        eval {...} called at /usr/share/perl5/vendor_perl/MooseX/App/Cmd/Command.pm line 0
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.

While:

$ perl -e 'use Moose; use MooseX::App::Cmd::Command'

passes. 

This could be a bug in MooseX::App::Cmd::Command which does that for backward compatibility. I think we can solve that by adding an exception to the t/000-report-versions.t because there is already list of such exceptions.

The only MooseX::App::Cmd::Command usage is in lib/Git/CPAN/Patch/Command/sources.pm which uses Moose explicitly.

Comment 2 Petr Pisar 2014-04-18 11:38:03 UTC
Created attachment 887541 [details]
Fix in the test


Note You need to log in before you can comment on or make changes to this bug.