Bug 1089247
| Summary: | perl-Git-CPAN-Patch-0.8.0-5.fc21 FTBFS | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Petr Pisar <ppisar> | ||||
| Component: | perl-Git-CPAN-Patch | Assignee: | Petr Pisar <ppisar> | ||||
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
| Severity: | unspecified | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | rawhide | CC: | iarnell, mmaslano, perl-devel | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| URL: | http://koji.fedoraproject.org/koji/taskinfo?taskID=6753002 | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | perl-Git-CPAN-Patch-0.8.0-6.fc21 | Doc Type: | Bug Fix | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2014-04-18 11:49:02 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
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.
Created attachment 887541 [details]
Fix in the test
|
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.