davies has asked for the wisdom of the Perl Monks concerning the following question:
I've made various attempts. The one that has elicited the most reaction was version 1.0.2, and I will refer to this throughout. After the initial acknowledgment email, I received a second, with the subject "Failed: PAUSE indexer report DAVIES/App-ipchgmon-1.0.2.tar.gz". The body includes the following:
This distribution name will only be indexed when uploaded by users with permission for the package App::ipchgmon. Either someone else has ownership over that package name, or this is a brand new distribution and that package name was neither listed in the 'provides' field in the META file nor found inside the distribution's modules. Therefore, no modules will be indexed.
Further details on the indexing attempt follow.
You appear to be missing a .pm file containing a package matching the dist name (App::ipchgmon). Adding this may solve your issue. Or maybe it is the other way round and a different distribution name could be chosen to reflect an actually included package name (eg. ipchgmon-...).
This is the beginning of my uncertainty. Is this a permissions issue or a missing .pm file? The archive contents certainly contain the .pm:
dr@distzilla:~/App/ipchgmon$ tar --list -f App-ipchgmon-1.0.2.tar.gz App-ipchgmon-1.0.2/ App-ipchgmon-1.0.2/Changes App-ipchgmon-1.0.2/lib/ App-ipchgmon-1.0.2/lib/App/ App-ipchgmon-1.0.2/lib/App/ipchgmon.pm App-ipchgmon-1.0.2/dist.ini App-ipchgmon-1.0.2/bin/ App-ipchgmon-1.0.2/bin/ipchgmon App-ipchgmon-1.0.2/README App-ipchgmon-1.0.2/LICENSE App-ipchgmon-1.0.2/META.yml App-ipchgmon-1.0.2/t/ App-ipchgmon-1.0.2/t/24-read-file.t App-ipchgmon-1.0.2/t/60-email-address.t App-ipchgmon-1.0.2/t/30-last.t App-ipchgmon-1.0.2/t/50-ip-via-web.t App-ipchgmon-1.0.2/t/34-single-ip-version.t App-ipchgmon-1.0.2/t/22-new-ip.t App-ipchgmon-1.0.2/t/63-email-transport.t App-ipchgmon-1.0.2/t/32-check-dns.t App-ipchgmon-1.0.2/t/51-ip-validation.t App-ipchgmon-1.0.2/t/10-options.t App-ipchgmon-1.0.2/t/00-modulino.t App-ipchgmon-1.0.2/t/20-file.t App-ipchgmon-1.0.2/t/62-email-delivery.t App-ipchgmon-1.0.2/t/28-nslookup.t App-ipchgmon-1.0.2/t/26-check-changes.t App-ipchgmon-1.0.2/Makefile.PL App-ipchgmon-1.0.2/MANIFEST
The structure seems to me to be the same as other "App::" distributions.
Then the daily reports started coming, with masses of failures. Two examples are http://www.cpantesters.org/cpan/report/b76d293e-4c1a-11ed-9806-df4792b6e7ad and http://www.cpantesters.org/cpan/report/c54daa0c-4c46-11ed-aba6-9a79f339625c. The nature of the failure is the same in all; I have two types of tests, unit tests that "use" the .pm and tests that call the modulino from the command line. It is the command line tests that fail, and they all report missing modules. The specific module may differ, although the "Datetime" modules seem to come up the most frequently. The prerequisites sections of the reports all list the modules that do not load.
A small minority, including the second example above, include something like the following:
MISSING PREREQUISITES:
It was observed that the test suite seem to fail without these modules:
Module::Pluggable
As such, adding the prerequisite module(s) to 'PREREQ_PM' in your Makefile.PL should solve this problem. For example:
WriteMakefile( AUTHOR => 'DAVIES (cpanplus-info@lists.sf.net)', ... # other information PREREQ_PM => { 'Module::Pluggable' => '0', # or a minimum working version } );
My code does not use Module::Pluggable directly; it is a dependency of Email::Sender::Transport::SMTP. This is listed in the report's prerequisites section without any sign of complaint and unit tests that use it pass. I am left wondering whether this is the "permissions" issue mentioned in the email. The changes of format and of the module specified in the error do not appear to be related to the OS being tested or the tester, but I have not done a formal analysis.
I wondered whether the command line call was failing because of permissions, but that isn't the problem; the reports show a failure at compile time. While the release is not "indexed", it can be addressed from the CPAN shell with a command such as test DAVIES/App-ipchgmon-1.0.2.tar.gz. All tests pass. I have put the code up at https://github.com/DrJHD/ipchgmon.
I believe that it is far more likely that I am doing something wrong than that there is a bug in the PAUSE system. But I can't see my error. What it is, please?
Regards,
John Davies
|
---|