Bug 810234

Summary: Circular build dependency in perl-POE-1.352-1.fc18
Product: [Fedora] Fedora Reporter: Paul Howarth <paul>
Component: perl-POEAssignee: Petr Šabata <psabata>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: mmaslano, perl-devel, psabata, rdieter
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: perl-POE-1.352-2.fc18 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-04-05 14:20:33 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:

Description Paul Howarth 2012-04-05 12:41:41 UTC
perl-POE buildrequires and requires perl(POE::Test::Loops), which of course requires perl(POE) itself. This will be a problem when it comes to bootstrapping perl 5.16.

The test suite skips affected tests if POE::Test::Loops is not present, so omitting it is not a big problem.

The explicit runtime dependency on POE::Test::Loops is also debatable, and in fact there is an explicit exclude in the spec to prevent that module being picked up as an automatic dependency (see Bug #632855), so I believe that should go too (it would have to for bootstrapping anyway, otherwise perl-POE-Test-Loops would not be bootable).

Suggested changes:

diff --git a/perl-POE.spec b/perl-POE.spec
index ddeb980..fe8c247 100644
--- a/perl-POE.spec
+++ b/perl-POE.spec
@@ -27,7 +27,10 @@ BuildRequires:  perl(HTTP::Date)
 BuildRequires:  perl(HTTP::Request)
 BuildRequires:  perl(HTTP::Response)
 BuildRequires:  perl(HTTP::Status)
+# POE::Test::Loops unsurprisingly requires POE
+%if 0%{!?perl_bootstrap:1}
 BuildRequires:  perl(POE::Test::Loops) >= 1.351
+%endif
 BuildRequires:  perl(Socket) >= 1.7
 BuildRequires:  perl(Socket6) >= 0.14
 BuildRequires:  perl(Storable) >= 2.16
@@ -49,7 +52,6 @@ Requires:       perl(File::Spec) >= 0.87
 Requires:       perl(IO::Handle) >= 1.27
 Requires:       perl(IO::Pty)
 Requires:       perl(IO::Tty) >= 1.08
-Requires:       perl(POE::Test::Loops) >= 1.351
 Requires:       perl(POSIX) >= 1.02
 Requires:       perl(Socket) >= 1.7
 Requires:       perl(Socket6) >= 0.14

Comment 1 Petr Šabata 2012-04-05 14:03:37 UTC
The exclude is there to filter the underspecified dependency but I agree it should be removed completely.

I'll apply your suggested changes.

Comment 2 Petr Šabata 2012-04-05 15:04:45 UTC
*** Bug 810297 has been marked as a duplicate of this bug. ***