Skip Menu |

This queue is for tickets about the Net-DRI CPAN distribution.

Report information
The Basics
Id: 35446
Status: resolved
Priority: 0/
Queue: Net-DRI

People
Owner: patrick+cpan [...] patoche.org
Requestors: ANDK [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.85
Fixed in: 0.90



Subject: Missing dependency declaration on MIME::Entity and Test::LongString
As the subject line says... Thanks && Regards,
Hello Andreas, Thanks for your bug report and your interest in Net::DRI. Test::LongString is only used for tests not for the module itself. In tests its loading is wrapped in an eval {} so tests can still work without Test::LongString, except if I forgot the eval {} somewhere. Hence I do not believe I should include it as a core dependency, users of Net::DRI are not really in need of this module. As for MIME::Entity I have decided 2 versions ago to remove it as a core dependency because Net::DRI can be used in many cases, the most frequent one being as an EPP client in which case MIME::Entity is not used. It is used only for other cases, that is registries working by email. One of the test verify this and warns the user if MIME::Entity is not installed that some parts of the module will not work. I have done so to trim the list of dependencies since Net::DRI is growing and handling more and more cases, but no user is using all cases at once. But indeed there is a small bug: Net::DRI::Protocol::AFNIC::Email::Message (using MIME::Entity) is tested in t/001load.t where it should not since it is tested as optional dependency in t/004load_optional ; this will be fixed in next version, but I do not believe there is anything else I should change (many tests were lacking some use DateTime or use DateTime::Duration, this also will be fixed in next release). After all that, I'm in no way an expert so welcome suggestions or ideas to do better. Regards,
CC: ANDK [...] cpan.org
Subject: Re: [rt.cpan.org #35446] Missing dependency declaration on MIME::Entity and Test::LongString
Date: Sat, 26 Apr 2008 15:07:38 +0200
To: bug-Net-DRI [...] rt.cpan.org
From: andreas.koenig.7os6VVqR [...] franz.ak.mind.de (Andreas J. Koenig)
I think there's only one general rule: if a test breaks without a module, then that module is a dependency. If you feel something is not a dependency, then write no test that breaks without it. The best way to deal with it is probably to watch cpantesters after the upload and see what breaks. Bonus points when you uninstall these non-dependencies on your dev machine and see what breaks before you upload:) My favorite overview page on cpantesters is this one: http://bbbike.radzeit.de/~slaven/cpantestersmatrix.cgi?dist=Net-DRI;maxver= -- andreas
Hi Andreas, Show quoted text
> I think there's only one general rule: if a test breaks without a > module, then that module is a dependency.
Then we agree, the test with MIME::Entity will be corrected in next version (I spotted the error thanks to cpantesters). As for Test::LongString I believe no tests fail without it but like you said I may try to setup something without core dependencies and see if things fly. Thanks again for your time and help. Show quoted text
> If you feel something is not > a dependency, then write no test that breaks without it. The best way > to deal with it is probably to watch cpantesters after the upload and > see what breaks.
Which I do, but what would be even better is to be able to try things in all these setup before CPAN upload, like farms used in other projects, available to test many things in different setups. Show quoted text
> Bonus points when you uninstall these > non-dependencies on your dev machine and see what breaks before you > upload:)
Difficult but possible. Which gives even more weight to the idea of having different configurations possible to test things before upload. If that exists for Perl modules, I'm not aware of it. Regards,
CC: ANDK [...] cpan.org
Subject: Re: [rt.cpan.org #35446] Missing dependency declaration on MIME::Entity and Test::LongString
Date: Sun, 27 Apr 2008 06:09:02 +0200
To: bug-Net-DRI [...] rt.cpan.org
From: andreas.koenig.7os6VVqR [...] franz.ak.mind.de (Andreas J. Koenig)
My statement was simplistic and quite beside the point. Sure it exists, it's called developer release. From $CPAN/modules/04pause.html: <h4>Developer Releases</h4> <p>The automatic integration of your work into several <b>indexes</b> and directory trees is not always what you desire. If you want to <b>prevent propagation</b> to places outside of your directory, simply choose a filename that matches <b><code>/\d\.\d+_\d/</code></b>. PAUSE will leave such distributions alone: no readme will be extracted, no index will be updated, no symlinks will be created.</p> Cpantesters test these uploads just like full releases. The file still ends up on CPAN but you can delete it there any time you want. They will be kept on backpan but this usually hurts nobody. -- andreas