Skip Menu |

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

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

People
Owner: ether [...] cpan.org
Requestors: HMBRAND [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 1.27
Fixed in: 1.33



Subject: Overall status fails when JSON::XS is NOT installed
I don't have JSON::XS installed and I do not want it installed: $ perl -MV=JSON,JSON::PP,JSON::DWIW,JSON::Syck,JSON::XS JSON /pro/lib/perl5/site_perl/5.12.2/JSON.pm: 2.51 JSON::PP /pro/lib/perl5/site_perl/5.12.2/JSON/PP.pm: 2.27105 JSON::DWIW /pro/lib/perl5/site_perl/5.12.2/i686-linux-64int-ld/JSON/ DWIW.pm: 0.47 JSON::Syck /pro/lib/perl5/site_perl/5.12.2/i686-linux-64int-ld/JSON/ Syck.pm: 0.40 JSON::XS Not found $ cpan JSON::Any : [JSON::XS] - JSON::XS ...missing. (would need 2.232) ==> Auto-install the 1 optional module(s) from CPAN? [Y/n] y : ______________________ D i s t r o P r e f s ______________________ MLEHMAN.yml[0] Running make for M/ML/MLEHMANN/JSON-XS-2.3.tar.gz Disabled via prefs file '/home/merijn/.cpan/prefs/MLEHMAN.yml' doc 0 MLEHMANN/JSON-XS-2.3.tar.gz [disabled] -- NA Disabled via prefs file '/home/merijn/.cpan/prefs/ MLEHMAN.yml' doc 0 : All tests successful. Test Summary Report ------------------- t/11-string-escape.t (Wstat: 0 Tests: 24 Failed: 0) TODO passed: 17-19, 21-22 Files=10, Tests=100, 1 wallclock secs ( 0.05 usr 0.02 sys + 0.53 cusr 0.08 csys = 0.68 CPU) Result: PASS PERIGRIN/JSON-Any-1.27.tar.gz Tests succeeded but one dependency not OK (JSON::XS) PERIGRIN/JSON-Any-1.27.tar.gz [dependencies] -- NA Running make install make test had returned bad status, won't install without force $ DistroPrefs cannot tell from the question that JSON::Any asks what module is missing from the *optional* modules, so I don't have a rule for that, and the default is obviously "y". The problem here is that there is no way to tell JSON::Any that *some* modules are allowed to be installed automatically, and some are not.
On Thu May 05 10:04:52 2011, HMBRAND wrote: Show quoted text
> DistroPrefs cannot tell from the question that JSON::Any asks what > module is missing from the *optional* modules, so I don't have a rule > for that, and the default is obviously "y". > > The problem here is that there is no way to tell JSON::Any that *some* > modules are allowed to be installed automatically, and some are not.
I agree this is a problem. I have no idea how to resolve it. We chose a default module for installation because not doing so would lead to people installing broken configurations (ie JSON::Any without a backing module). JSON::XS was (and still is IMO) the best of breed module for handling JSON. I am open to suggestions on how to explain to the tool chain a resolution here.
On 2011-05-05 09:24:59, PERIGRIN wrote: Show quoted text
> We chose a default module for installation because not doing so would > lead to people > installing broken configurations (ie JSON::Any without a backing > module). JSON::XS was (and > still is IMO) the best of breed module for handling JSON. > > I am open to suggestions on how to explain to the tool chain a > resolution here.
IMO JSON::PP would be a better default than JSON::XS, especially given how the latter is uninstallable (without --force) on 5.18.0.
The optional installation prompts via Module::Install are no longer being used in Makefile.PL. We should now be falling back to a dynamic dependency on JSON::PP if no backend is already installed, and otherwise not forcing anything to be installed.