Hi Petr,
On 05/02/13 15:16, Petr Pisar wrote:
# Tests:
BuildRequires: perl(Test::More) >= 0.6
+%if !%{defined perl_bootstrap}
+# Break circular dependency Pod::Checker <-> Pod::Parser
+BuildRequires: perl(Pod::Checker) >= 1.40
+# Break circular dependency Pod::Usage <-> Pod::Select
+BuildRequires: perl(Pod::Usage)
+%endif
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
...
%check
+%if %{defined perl_bootstrap}
+# Break circular dependency Pod::Usage <-> Pod::Select
+rm -f t/pod/headings.t
+%endif
make test
%files
%doc ANNOUNCE CHANGES README TODO
-%{_bindir}/*
+%if %{defined perl_bootstrap}
+# Break circular dependency Pod::Usage <-> Pod::Select
+%exclude %{_bindir}/podselect
+%else
+%{_bindir}/podselect
+%endif
These efforts to avoid a circular dependency between Pod::Parser and
Pod::Usage don't actually work because ExtUtils::MakeMaker requires
perl-podlators, which requires Pod::Usage, so it's pulled in anyway.
There are a number of dual-lived packages for which circular
dependencies seem to be quite unavoidable and need special treatment
when bootstrapping, e.g.:
ExtUtils::MakeMaker needs config.h from perl-devel, which requires
ExtUtils::MakeMaker
ExtUtils::Manifest needs ExtUtils::MakeMaker, which needs ExtUtils::Manifest
perl-podlators needs ExtUtils::MakeMaker, which needs Pod::Man
(perl-podlators)
Pod::Usage buildrequires ExtUtils::MakeMaker, which requires
perl-podlators, which requires Pod::Usage
Pod::Select (perl-Pod-Parser) is required by perl-Pod-Usage; see above
perl-Pod-Perldoc is explicitly required by perl-Pod-Usage; see above
perl(parent) is required by perl-Pod-Perldoc; see above
I think there are similar issues with perl-Test-Simple,
perl-Data-Dumper, perl-Digest and perl-Digest-SHA, but I haven't looked
at them properly yet.
Paul.
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/perl-devel