Bug 810394 - Circular build dependency in perl-Moose-2.0402-1.fc18
Circular build dependency in perl-Moose-2.0402-1.fc18
Product: Fedora
Classification: Fedora
Component: perl-Moose (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Iain Arnell
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2012-04-05 16:43 EDT by Paul Howarth
Modified: 2012-04-06 12:00 EDT (History)
3 users (show)

See Also:
Fixed In Version: perl-Moose-2.0402-2.fc18
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2012-04-06 12:00:26 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Paul Howarth 2012-04-05 16:43:44 EDT
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 12:00:26 EDT
Patch applied and built in rawhide.

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