Skip Menu |

This queue is for tickets about the JSON-Any CPAN distribution.

Report information
The Basics
Id: 87396
Status: resolved
Priority: 0/
Queue: JSON-Any

People
Owner: ether [...] cpan.org
Requestors: d.thomas [...] its.uq.edu.au
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 1.30
Fixed in: 1.33



Subject: prerequisites missing from META.*
prerequisites missing from META.* JSON-Any-1.30 FAILs its test and doesn't get installed with my build system which uses META.* files to determine dependencies and order the build of distros to satisfy those dependencies. no JSON* modules are listed in Makefile.PL or META.* JSON-Any-1.29 had META.yml with requires: Carp: 0 JSON: 2.02 JSON::Syck: 0 JSON::XS: 2.3 though I'm not sure these are all needed, perhaps just any one?
From: d.thomas [...] its.uq.edu.au
forgot to mention under perl-5.16.3 more importantly while the tests PASS, I use a separate definition of build/install success: a test script "use JSON::Any;" fails
Subject: Re: [rt.cpan.org #87396] prerequisites missing from META.*
Date: Mon, 29 Jul 2013 08:08:13 -0700
To: "d.thomas [...] its.uq.edu.au via RT" <bug-JSON-Any [...] rt.cpan.org>
From: Karen Etheridge <ether [...] cpan.org>
On Mon, Jul 29, 2013 at 03:31:54AM -0400, d.thomas@its.uq.edu.au via RT wrote: Show quoted text
> prerequisites missing from META.* > > JSON-Any-1.30 FAILs its test and doesn't get installed > with my build system which uses META.* files to determine > dependencies and order the build of distros to satisfy > those dependencies. > > no JSON* modules are listed in Makefile.PL or META.*
It's reasonable for them to not show up in META.*, as this module uses dynamic configuration, but some should show up in MYMETA.* after running the Makefile.PL. That's not happening, so there's definitely a problem still. We should be prompting interactively to request which implementation(s) you prefer to install. Show quoted text
> JSON-Any-1.29 had META.yml with > requires: > Carp: 0 > JSON: 2.02 > JSON::Syck: 0 > JSON::XS: 2.3 > though I'm not sure these are all needed, perhaps just any one?
Correct, just one is needed.
Dynamic dependencies are computed at install time -- if you don't have any backends installed, you get JSON::PP; otherwise (if at least one backend is already installed), no backends are depended on at all. Note that if "dynamic_config" is set to true in META.yml, you cannot depend on the dependencies listed therein; you *must* run Makefile.PL on the target system to determine the true dependencies. (This is following the specification in CPAN::Meta::Spec.)