Bug 982253 - Circular build dependency involving perl-Test-Pod-LinkCheck
Summary: Circular build dependency involving perl-Test-Pod-LinkCheck
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: perl-Params-Validate
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Ralf Corsepius
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-07-08 13:25 UTC by Paul Howarth
Modified: 2013-07-18 09:44 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-07-18 09:44:41 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Paul Howarth 2013-07-08 13:25:41 UTC
There is a circular build dependency involving perl-Params-Validate and perl-Test-Pod-LinkCheck, e.g.:

perl-Params-Validate
  -> perl-Test-Pod-LinkCheck
  -> perl-Moose
  -> perl-DateTime
  -> perl-Params-Validate

There are a variety of these involving other DateTime-derived packages, and it looks to me that the simplest solution would be drop the perl(Test::Pod::LinkCheck) build requirement when bootstrapping a new perl, as will be done for 5.18 in Rawhide shortly.

e.g.
%if 0%{!?perl_bootstrap:1}
BuildRequires:  perl(Test::Pod::LinkCheck)
%endif

There's also a mixture of uses of tabs and spaces in the current spec., which could possibly be addressed at the same time.

Comment 1 Ralf Corsepius 2013-07-08 14:05:40 UTC
(In reply to Paul Howarth from comment #0)
> There is a circular build dependency involving perl-Params-Validate and
> perl-Test-Pod-LinkCheck, e.g.:
> 
> perl-Params-Validate
>   -> perl-Test-Pod-LinkCheck
>   -> perl-Moose
>   -> perl-DateTime
>   -> perl-Params-Validate
> 
> There are a variety of these involving other DateTime-derived packages, and
> it looks to me that the simplest solution would be drop the
> perl(Test::Pod::LinkCheck) build requirement when bootstrapping a new perl,
> as will be done for 5.18 in Rawhide shortly.

> e.g.
> %if 0%{!?perl_bootstrap:1}
> BuildRequires:  perl(Test::Pod::LinkCheck)
> %endif
OK. I'll look into this later this week.

 
> There's also a mixture of uses of tabs and spaces in the current spec.,
> which could possibly be addressed at the same time.
With all due respect, I could not care less about this.

Comment 2 Ralf Corsepius 2013-07-17 05:28:56 UTC
(In reply to Ralf Corsepius from comment #1)
> (In reply to Paul Howarth from comment #0)
> > There is a circular build dependency involving perl-Params-Validate and
> > perl-Test-Pod-LinkCheck, e.g.:
> > 
> > perl-Params-Validate
> >   -> perl-Test-Pod-LinkCheck
> >   -> perl-Moose
> >   -> perl-DateTime
> >   -> perl-Params-Validate
> > 
> > There are a variety of these involving other DateTime-derived packages, and
> > it looks to me that the simplest solution would be drop the
> > perl(Test::Pod::LinkCheck) build requirement when bootstrapping a new perl,
> > as will be done for 5.18 in Rawhide shortly.
> 
> > e.g.
> > %if 0%{!?perl_bootstrap:1}
> > BuildRequires:  perl(Test::Pod::LinkCheck)
> > %endif
> OK. I'll look into this later this week.

I have been looking into this BZ several times now, but can not spot the circular dependency between perl-Params-Validate and perl-Test-Pod-LinkCheck you are referring to.

Neither building perl-Params-Validate nor building perl-Test-Pod-LinkCheck seems to pull in one of the modules provided by the other.

Comment 3 Paul Howarth 2013-07-17 08:00:32 UTC
(In reply to Ralf Corsepius from comment #2)
> (In reply to Ralf Corsepius from comment #1)
> > (In reply to Paul Howarth from comment #0)
> > > There is a circular build dependency involving perl-Params-Validate and
> > > perl-Test-Pod-LinkCheck, e.g.:
> > > 
> > > perl-Params-Validate
> > >   -> perl-Test-Pod-LinkCheck
> > >   -> perl-Moose
> > >   -> perl-DateTime
> > >   -> perl-Params-Validate
> > > 
> > > There are a variety of these involving other DateTime-derived packages, and
> > > it looks to me that the simplest solution would be drop the
> > > perl(Test::Pod::LinkCheck) build requirement when bootstrapping a new perl,
> > > as will be done for 5.18 in Rawhide shortly.
> > 
> > > e.g.
> > > %if 0%{!?perl_bootstrap:1}
> > > BuildRequires:  perl(Test::Pod::LinkCheck)
> > > %endif
> > OK. I'll look into this later this week.
> 
> I have been looking into this BZ several times now, but can not spot the
> circular dependency between perl-Params-Validate and perl-Test-Pod-LinkCheck
> you are referring to.
> 
> Neither building perl-Params-Validate nor building perl-Test-Pod-LinkCheck
> seems to pull in one of the modules provided by the other.

The cycle is more complicated than that. Bear in mind this is for a bootstrapping situation where none of these packages is currently available as a build dependency. We have:

perl-Params-Validate build-requires perl(Test::Pod::LinkCheck)

perl-Test-Pod-LinkCheck build-requires perl(Moose)

perl-Moose build-requires perl(DateTime)

perl-DateTime build-requires perl(Params::Validate)

So currently none of these packages or anything that depends on them can be built in a bootstrap environment.

Comment 4 Ralf Corsepius 2013-07-18 09:44:41 UTC
Fixed in perl-Params-Validate-1.08-2.fc20


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