Skip Menu |

This queue is for tickets about the Map-Tube-Plugin-FuzzyFind CPAN distribution.

Report information
The Basics
Id: 102220
Status: resolved
Priority: 0/
Queue: Map-Tube-Plugin-FuzzyFind

People
Owner: GWS [...] cpan.org
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.02
Fixed in: 0.03



Subject: Prerequisites not declared
It seems that Text::Levenshtein, Text::Soundex, and Text::Metaphone (and maybe other modules) are not declared as prerequisites. See http://matrix.cpantesters.org/?dist=Map-Tube-Plugin-FuzzyFind%200.02 for a fail/pass overview.
They are not, strictly speaking, prerequisites. The module will work fine without then, only with limited functionality, of course. So they are not required, but suggested. I hope I encoded this properly in Makefile.pl, but I'm not sure I have managed according to current best practice. (Anyone to enlighten me, please?) However, the test scripts indeed do not take this into account. They treat the extra modules like requirements proper. This is a bug I need to fix this.
They are not, strictly speaking, prerequisites. The module will work fine without then, only with limited functionality, of course. So they are not required, but suggested. I hope I encoded this properly in Makefile.pl, but I'm not sure I have managed according to current best practice. (Anyone to enlighten me, please?) However, the test scripts indeed do not take this into account. They treat the extra modules like requirements proper. This is a bug I need to fix.
On 2015-02-19 13:31:50, GWS wrote: Show quoted text
> They are not, strictly speaking, prerequisites. The module will work > fine without then, only with limited functionality, of course. So they > are not required, but suggested. I hope I encoded this properly in > Makefile.pl, but I'm not sure I have managed according to current best > practice. (Anyone to enlighten me, please?) > However, the test scripts indeed do not take this into account. They > treat the extra modules like requirements proper. > This is a bug I need to fix.
Easiest is to skip tests (parts or whole test scripts) if optional prereqs are missing.
Yep, for the tests that is what I'm currently doing, and that should fix the bug reported. My question beyond that would be how to advertise formally (in addition to mentioning in the man page) that some other modules are not required but nice to have. E.g., in CRAN (of R, not Perl) each module advertises clearly and in a standardised way what it requires and what it suggests. (Also, reverse-requires and reverse-suggests, but that is another story.) In the E::MM docs I haven't found any clear recipe how to achieve this. It seems the Meta-Merge section is the best I can get. Is this The Thing To Do, or is there some better way?
On 2015-02-19 14:38:53, GWS wrote: Show quoted text
> Yep, for the tests that is what I'm currently doing, and that should > fix the bug reported. > My question beyond that would be how to advertise formally (in > addition to mentioning in the man page) that some other modules are > not required but nice to have. > E.g., in CRAN (of R, not Perl) each module advertises clearly and in a > standardised way what it requires and what it suggests. (Also, > reverse-requires and reverse-suggests, but that is another story.) > > In the E::MM docs I haven't found any clear recipe how to achieve > this. It seems the Meta-Merge section is the best I can get. Is this > The Thing To Do, or is there some better way?
META_MERGE is the way to do it, and probably EUMM should have better documentation on this topic. You can look at other distributions how to use it, for example https://metacpan.org/source/ETHER/libwww-perl-6.13/Makefile.PL
Am 2015-02-19 14:47:13, SREZIC schrieb: Show quoted text
> META_MERGE is the way to do it, and probably EUMM should have better > documentation on this topic. You can look at other distributions how > to use it, for example > https://metacpan.org/source/ETHER/libwww-perl-6.13/Makefile.PL
Thanks for the pointer, Slaven! That looks like a good introduction.
Tests now check for availability of optional modules and skip if not present.