Skip Menu |

This queue is for tickets about the Module-Install CPAN distribution.

Report information
The Basics
Id: 51267
Status: resolved
Priority: 0/
Queue: Module-Install

People
Owner: Nobody in particular
Requestors: dagolden [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: (no value)
Fixed in: (no value)



Subject: Consider moving load checks to import so require M::I will succeed
Because of the way that "use Module::Install" dies under various conditions (e.g. "use inc::Module::Install not use Module::Install"), it's not possible to test that Module::Install is just installed via eval "require Module::Install; 1". CPAN::Reporter currently checks all prerequisites via a subprocess using this form of require as simple "does it exist" checks don't ensure that a dependency (and it's chain of dependencies) actually can load. The net effect is that anything that lists Module::Install as a prerequisite doesn't ever appear to get it satisfied. E.g. Module::Install::ForC If those checks for improper "use Module::Install" were moved to import() instead of just being in the main file, a require test could succeed. I'm not sure if this has other negative effects, but semantically it seems sane, since you're really just trying to protect against things going wrong when the wrong "import" is called. -- David
Applied in trunk. Will be fixed in the next release. Thanks. On 2009-11-10 Tue 06:21:33, DAGOLDEN wrote: Show quoted text
> Because of the way that "use Module::Install" dies under various > conditions (e.g. "use inc::Module::Install not use Module::Install"), > it's not possible to test that Module::Install is just installed via > eval "require Module::Install; 1". > > CPAN::Reporter currently checks all prerequisites via a subprocess
using Show quoted text
> this form of require as simple "does it exist" checks don't ensure
that Show quoted text
> a dependency (and it's chain of dependencies) actually can load. > > The net effect is that anything that lists Module::Install as a > prerequisite doesn't ever appear to get it satisfied. E.g. > Module::Install::ForC > > If those checks for improper "use Module::Install" were moved to > import() instead of just being in the main file, a require test could > succeed. I'm not sure if this has other negative effects, but > semantically it seems sane, since you're really just trying to protect > against things going wrong when the wrong "import" is called. > > -- David >
Hi. 0.95 is out. If you still have the problem, reopen this. Thanks.