Bug 982253 - Circular build dependency involving perl-Test-Pod-LinkCheck
Circular build dependency involving perl-Test-Pod-LinkCheck
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: perl-Params-Validate (Show other bugs)
rawhide
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Ralf Corsepius
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-07-08 09:25 EDT by Paul Howarth
Modified: 2013-07-18 05:44 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-07-18 05:44:41 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Paul Howarth 2013-07-08 09:25:41 EDT
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 10:05:40 EDT
(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 01:28:56 EDT
(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 04:00:32 EDT
(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 05:44:41 EDT
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.