On 2017-09-29 05:13 AM, Paul Howarth wrote:
On 2017-09-29 03:45, Digimer wrote:
> Hi all,
>
> Continuing down by build dependency hole, I ran into another circular
> dependency. I checked in perl-namespace-autoclean.spec for the bootstrap
> option, but it didn't seem to exist. I added it, and it allowed me to
> build -> install perl-namespace-autoclean, then build -> install
> perl-MooseX-Role-WithOverloading, then rebuild perl-namespace-autoclean
> normally.
>
> ====
> --- perl-namespace-autoclean.spec 2014-08-14 22:16:54.000000000 +0000
> +++ perl-namespace-autoclean.spec.new 2017-09-29 02:42:34.666511773
> +0000
> @@ -41,7 +41,9 @@
> %if 0%{?fedora} || 0%{?rhel} > 7
> BuildRequires: perl(MooseX::MarkAsMethods)
> %endif
> +%if !0%{?perl_bootstrap}
> BuildRequires: perl(MooseX::Role::WithOverloading) >= 0.09
> +%endif
> BuildRequires: perl(Mouse)
> BuildRequires: perl(Sub::Name)
> # Runtime
> ====
>
> Was this the right approach? I worry not because obviously you guys
> compiled them before.
perl-namespace-autoclean was updated in EPEL from version 0.13 to
version 0.19. Version 0.13 did not have the build dependency on
perl(MooseX::Role::WithOverloading) and thus was able to build
successfully. By the time the upgrade to 0.19 happened,
perl-MooseX-Role-WithOverloading had been built (pulling in the existing
perl-namespace-autoclean 0.13) and so there was no problem doing that
version 0.19 build.
If you look at the master branch of perl-namespace-autoclean, you'll see
that there's now a bootstrapping conditional around the
perl(MooseX::Role::WithOverloading) build requirement.
What you did is fine.
Paul.
Ah, excellent, thanks for clarifying!
--
Digimer
Papers and Projects:
https://alteeve.com/w/
"I am, somehow, less interested in the weight and convolutions of
Einstein’s brain than in the near certainty that people of equal talent
have lived and died in cotton fields and sweatshops." - Stephen Jay Gould