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.
Thanks!
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.
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!
epel-devel@lists.fedoraproject.org