[perl-Pod-Parser] 1.60 bump

Paul Howarth paul at city-fan.org
Thu Feb 7 16:11:08 UTC 2013


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.




More information about the perl-devel mailing list