[Bug 810510] New: Circular build dependency in perl-DateTime-0.70-3.fc18

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.

Summary: Circular build dependency in perl-DateTime-0.70-3.fc18

           Summary: Circular build dependency in perl-DateTime-0.70-3.fc18
           Product: Fedora
           Version: rawhide
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: unspecified
          Priority: unspecified
         Component: perl-DateTime
        AssignedTo: steve@xxxxxxxxx
        ReportedBy: paul@xxxxxxxxxxxx
         QAContact: extras-qa@xxxxxxxxxxxxxxxxx
                CC: steve@xxxxxxxxx, iarnell@xxxxxxxxx,
    Classification: Fedora
      Story Points: ---
              Type: Bug
        Regression: ---
        Mount Type: ---
     Documentation: ---

DateTime has a hard dependency on DateTime::TimeZone and won't run without it.
DateTime::TimeZone can be built without DateTime present but the resulting rpm
package has a dependency on perl(DateTime) and hence cannot be used to
bootstrap the perl-DateTime package.

My suggested fix is not to include perl(DateTime::TimeZone) as a build
requirement when bootstrapping, and that in turn means the test suite cannot be
run when bootstrapping. Since perl-DateTime needs special treatment for
bootstrapping, you might as well also add perl(DateTime::Format::Strptime) as a
buildreq when not bootstrapping:

diff --git a/perl-DateTime.spec b/perl-DateTime.spec
index 24cf770..60f5a38 100644
--- a/perl-DateTime.spec
+++ b/perl-DateTime.spec
@@ -7,12 +7,14 @@ License:        Artistic 2.0
 Group:          Development/Libraries
-# circular dependency - only used for one test
-#BuildRequires:  perl(DateTime::Format::Strptime) >= 1.2000
 BuildRequires:  perl(base)
 BuildRequires:  perl(constant)
 BuildRequires:  perl(DateTime::Locale) >= 0.41
+# Build requirements that themselves require DateTime
+%if 0%{!?perl_bootstrap:1}
+BuildRequires:  perl(DateTime::Format::Strptime) >= 1.2000
 BuildRequires:  perl(DateTime::TimeZone) >= 1.09
 BuildRequires:  perl(Math::Round)
 BuildRequires:  perl(Module::Build)
 BuildRequires:  perl(Params::Validate) >= 0.76
@@ -55,7 +57,10 @@ find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null
 %{_fixperms} %{buildroot}/*

+# DateTime::TimeZone is a hard requirement of DateTime, but DateTime::TimeZone
itself requires DateTime
+%if ! 0%{?perl_bootstrap:1}
 RELEASE_TESTING=1 ./Build test


Other notes:

You could safely add the release test requirements, even when bootstrapping:

BuildRequires:  perl(Test::CPAN::Changes)
BuildRequires:  perl(Test::EOL)
BuildRequires:  perl(Test::NoTabs)
BuildRequires:  perl(Test::Pod) >= 1.14
BuildRequires:  perl(Test::Pod::Coverage) >= 1.08
BuildRequires:  perl(Test::Spelling), aspell-en

Latest upstream release is 0.74.

Configure bugmail:
------- You are receiving this mail because: -------
You are on the CC list for the bug.
Fedora Extras Perl SIG
perl-devel mailing list

[Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Legacy Announce]     [Home]     [Fedora Tools]     [Fedora PHP Devel]     [Kernel List]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Big List of Linux Books]     [Gimp]     [Yosemite News]

Add to Google Powered by Linux