Skip Menu |

This queue is for tickets about the B-Hooks-EndOfScope CPAN distribution.

Report information
The Basics
Id: 104653
Status: rejected
Priority: 0/
Queue: B-Hooks-EndOfScope

People
Owner: Nobody in particular
Requestors:
Cc: ribasushi [...] leporine.io
AdminCc:

Bug Information
Severity: Important
Broken in: 0.15
Fixed in: (no value)



Subject: Runtime require is different in META.json and MYMETA.json (adds Variable::Magic)
The test suite claims that Variable::Magic is a runtime require via MYMETA.json, but no such requirement is present in META.json or http://api.metacpan.org/v0/release/B-Hooks-EndOfScope.
Subject: perl-B-Hooks-EndOfScope.meta.diff
diff -c /mnt/share/perl_modules/perl-B-Hooks-EndOfScope.x86/build/META.json /mnt/share/perl_modules/perl-B-Hooks-EndOfScope.x86/build/MYMETA.json --- /mnt/share/perl_modules/perl-B-Hooks-EndOfScope.x86/build/META.json 2015-05-14 23:46:09.000000000 +0200 +++ /mnt/share/perl_modules/perl-B-Hooks-EndOfScope.x86/build/MYMETA.json 2015-05-24 11:40:38.153371100 +0200 @@ -4,8 +4,8 @@ "Florian Ragwitz <rafl@debian.org>", "Peter Rabbitson <ribasushi@cpan.org>" ], - "dynamic_config" : 1, - "generated_by" : "Dist::Zilla version 5.036, CPAN::Meta::Converter version 2.150003", + "dynamic_config" : 0, + "generated_by" : "Dist::Zilla version 5.036, CPAN::Meta::Converter version 2.150003, CPAN::Meta::Converter version 2.150001", "keywords" : [ "code", "hooks", @@ -17,7 +17,7 @@ ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", - "version" : 2 + "version" : "2" }, "name" : "B-Hooks-EndOfScope", "no_index" : { @@ -28,11 +28,15 @@ ] }, "prereqs" : { + "build" : { + "requires" : { + "ExtUtils::MakeMaker" : "0" + } + }, "configure" : { "requires" : { "ExtUtils::CBuilder" : "0.26", - "ExtUtils::MakeMaker" : "0", - "perl" : "5.008001" + "ExtUtils::MakeMaker" : "0" } }, "develop" : { @@ -127,6 +131,7 @@ "requires" : { "Module::Implementation" : "0.05", "Sub::Exporter::Progressive" : "0.001006", + "Variable::Magic" : "0.48", "perl" : "5.008001", "strict" : "0", "warnings" : "0" @@ -141,8 +146,7 @@ "File::Glob" : "0", "File::Spec" : "0", "IPC::Open2" : "0", - "Test::More" : "0.89", - "perl" : "5.008001" + "Test::More" : "0.89" } } }, @@ -1069,4 +1073,3 @@ ], "x_permissions_from_module" : "B::Hooks::EndOfScope" } - Diff finished. Sun May 24 11:52:04 2015
On 2015-05-24 02:57:49, https://me.yahoo.com/howdidwegetherereally#f714d wrote: Show quoted text
> The test suite claims that Variable::Magic is a runtime require via > MYMETA.json, but no such requirement is present in META.json or > http://api.metacpan.org/v0/release/B-Hooks-EndOfScope.
That's correct. Can you explain the problem, please?
On Sun May 24 05:57:49 2015, https://me.yahoo.com/howdidwegetherereally#f714d wrote: Show quoted text
> The test suite claims that Variable::Magic is a runtime require via > MYMETA.json, but no such requirement is present in META.json or > http://api.metacpan.org/v0/release/B-Hooks-EndOfScope.
This is correct. META.json is -approximate- dependencies, which you can usually expect to be a subset of the final per-environment dependencies - but it's non-normative and relying on it is an error. MYMETA.json is the actual, normative dependencies for this configuration. Everything is working exactly as expected; whichever tool is relying on META.json as normative is broken and will need to be fixed.
On Sun May 24 15:09:36 2015, ETHER wrote: Show quoted text
> On 2015-05-24 02:57:49, > https://me.yahoo.com/howdidwegetherereally#f714d wrote:
> > The test suite claims that Variable::Magic is a runtime require via > > MYMETA.json, but no such requirement is present in META.json or > > http://api.metacpan.org/v0/release/B-Hooks-EndOfScope.
> > That's correct. Can you explain the problem, please?
The problem is that the build doesn't complete without that dependency and there's no way to find out until after you've tried building (I'm using MetaCPAN for that so they can be made available automatically). As you observed that isn't a particularly uncommon occurence so I keep a list of depednencies to additionally patch in, but the intention of that was mostly to make recommends mandatory, not to create requires out of thin air.
On Sun May 24 15:23:06 2015, MSTROUT wrote: Show quoted text
> On Sun May 24 05:57:49 2015, > https://me.yahoo.com/howdidwegetherereally#f714d wrote:
> > The test suite claims that Variable::Magic is a runtime require via > > MYMETA.json, but no such requirement is present in META.json or > > http://api.metacpan.org/v0/release/B-Hooks-EndOfScope.
> > This is correct. META.json is -approximate- dependencies, which you > can usually expect to be a subset of the final per-environment > dependencies - but it's non-normative and relying on it is an error. > > MYMETA.json is the actual, normative dependencies for this > configuration. > > Everything is working exactly as expected; whichever tool is relying > on META.json as normative is broken and will need to be fixed.
That would be MetaCPAN or my use of it, then. I don't see how to get the correct information out of it, anyway.
Subject: Re: [rt.cpan.org #104653] Runtime require is different in META.json and MYMETA.json (adds Variable::Magic)
Date: Tue, 26 May 2015 22:49:06 +0200
To: bug-B-Hooks-EndOfScope [...] rt.cpan.org
From: Peter Rabbitson <ribasushi [...] cpan.org>
On 05/26/2015 10:42 PM, https://me.yahoo.com/howdidwegetherereally#f714d via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=104653 > > > On Sun May 24 15:09:36 2015, ETHER wrote:
>> On 2015-05-24 02:57:49, >> https://me.yahoo.com/howdidwegetherereally#f714d wrote:
>>> The test suite claims that Variable::Magic is a runtime require via >>> MYMETA.json, but no such requirement is present in META.json or >>> http://api.metacpan.org/v0/release/B-Hooks-EndOfScope.
>> That's correct. Can you explain the problem, please?
> The problem is that the build doesn't complete without that dependency
What do you mean by this? Did something actually fail? If yes - please give us more details. The dependencies *are* optional, if something failed without them - this is what needs fixing.
On 2015-05-26 13:42:32, https://me.yahoo.com/howdidwegetherereally#f714d wrote: Show quoted text
> On Sun May 24 15:09:36 2015, ETHER wrote:
> > On 2015-05-24 02:57:49, > > https://me.yahoo.com/howdidwegetherereally#f714d wrote:
> > > The test suite claims that Variable::Magic is a runtime require via > > > MYMETA.json, but no such requirement is present in META.json or > > > http://api.metacpan.org/v0/release/B-Hooks-EndOfScope.
> > > > That's correct. Can you explain the problem, please?
> > The problem is that the build doesn't complete without that dependency > and there's no way to find out until after you've tried building (I'm > using MetaCPAN for that so they can be made available automatically). > As you observed that isn't a particularly uncommon occurence so I keep > a list of depednencies to additionally patch in, but the intention of > that was mostly to make recommends mandatory, not to create requires > out of thin air.
Metacpan can't tell you about dynamic dependencies. "creating requires out of thin air" is how dynamic configuration works. Please see the meta spec: https://metacpan.org/pod/CPAN::Meta::Spec#Prerequisites-for-dynamically-configured-distributions
On Tue May 26 16:49:26 2015, RIBASUSHI wrote: Show quoted text
> > The problem is that the build doesn't complete without that dependency
> > What do you mean by this? Did something actually fail? If yes - please > give us more details. The dependencies *are* optional, if something > failed without them - this is what needs fixing.
I've bootstrapped 5.22.0-RC2 and the whole dependency chain for the module build again and it's now correctly falling back to PP mode when Variable::Magic isn't available. I don't know what was happening the first time around. Thanks for your patience.
Subject: Re: [rt.cpan.org #104653] Runtime require is different in META.json and MYMETA.json (adds Variable::Magic)
Date: Wed, 27 May 2015 22:10:44 +0200
To: bug-B-Hooks-EndOfScope [...] rt.cpan.org
From: Peter Rabbitson <ribasushi [...] cpan.org>
On 05/27/2015 07:47 PM, https://me.yahoo.com/howdidwegetherereally#f714d via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=104653 > > > On Tue May 26 16:49:26 2015, RIBASUSHI wrote:
>>> The problem is that the build doesn't complete without that dependency
>> What do you mean by this? Did something actually fail? If yes - please >> give us more details. The dependencies *are* optional, if something >> failed without them - this is what needs fixing.
> I've bootstrapped 5.22.0-RC2 and the whole dependency chain for the module build again and it's now correctly falling back to PP mode when Variable::Magic isn't available. I don't know what was happening the first time around. > Thanks for your patience.
Do you by any chance have the log of the original failure? It would still be nice to know what the problem was, even if transient...
On Wed May 27 16:11:02 2015, RIBASUSHI wrote: Show quoted text
> Do you by any chance have the log of the original failure? It would > still be nice to know what the problem was, even if transient...
No, sorry. But I'm quite certain it did complain that Variable::Magic was missing in @INC, so it must have tried to use it somewhere.
Please re-open if you can reproduce the issue with Variable::Magic. Otherwise, it looks like everything is working as intended.