Bug 810394 - Circular build dependency in perl-Moose-2.0402-1.fc18
Summary: Circular build dependency in perl-Moose-2.0402-1.fc18
Alias: None
Product: Fedora
Classification: Fedora
Component: perl-Moose
Version: rawhide
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Iain Arnell
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2012-04-05 20:43 UTC by Paul Howarth
Modified: 2012-04-06 16:00 UTC (History)
3 users (show)

Fixed In Version: perl-Moose-2.0402-2.fc18
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2012-04-06 16:00:26 UTC
Type: Bug

Attachments (Terms of Use)

Description Paul Howarth 2012-04-05 20:43:44 UTC
perl-Moose has a buildreq of perl(Data::Visitor), which is used in
the test suite if available. However, Data::Visitor itself requires
Moose, so this creates a circular build dependency, which will be a
problem when we come to build everything for perl 5.16.

It also has a buildreq and req of perl(Devel::PartialDump) >= 0.14, which gives better runtime diagnostics of some errors. However, Devel::PartialDump also requires Moose and hence is a circular dependency. The functionality provided by Devel::PartialDump is not tested in the test suite so it can be dropped as a buildreq with no effects (in fact this had been done in the past in build 2.0002-2). It's OK to leave it as a req as Moose can be built first.

Suggested fixes are to not buildrequire Data::Visitor when bootstrapping and to drop Devel::PartialDump as a buildreq entirely:

diff --git a/perl-Moose.spec b/perl-Moose.spec
index c9d49d4..9d30544 100644
--- a/perl-Moose.spec
+++ b/perl-Moose.spec
@@ -19,7 +19,9 @@ BuildRequires:  perl(ExtUtils::MakeMaker) >= 6.30
 # develop
 BuildRequires:  perl(Algorithm::C3)
 BuildRequires:  perl(DBM::Deep) >= 1.0003
+%if 0%{!?perl_bootstrap:1}
 BuildRequires:  perl(Data::Visitor)
 BuildRequires:  perl(DateTime)
 BuildRequires:  perl(DateTime::Calendar::Mayan)
 BuildRequires:  perl(DateTime::Format::MySQL)
@@ -69,14 +71,12 @@ BuildRequires:  perl(Sub::Exporter) >= 0.980
 BuildRequires:  perl(Sub::Name) >= 0.05
 BuildRequires:  perl(Task::Weaken)
 BuildRequires:  perl(Try::Tiny) >= 0.02
-# recommended
-BuildRequires:  perl(Devel::PartialDump) >= 0.14
 Requires:       perl(Data::OptList) >= 0.107
 Requires:       perl(Dist::CheckConflicts) >= 0.02
-# recommended
+# recommended (note: this uses Moose itself)
 Requires:       perl(Devel::PartialDump) >= 0.14
 # hidden from PAUSE

Comment 1 Iain Arnell 2012-04-06 16:00:26 UTC
Patch applied and built in rawhide.

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