On Thu, Jul 3, 2008 at 9:16 AM, David Cantrell <[EMAIL PROTECTED]> wrote:
> $ tar xzf perl-5.x.x.tar.gz
> $ perl-5.x.x/bin/perl -MCPAN -e 'install qw(...)' # <-- INSTALL
> $ rm -rf perl-5.x.x
>
> So scripts packaged with modules really do get installed to wherever
> they would get installed by an ordinary user running perl from his home
> dir or similar.

Scripts in that install will get installed.  That doesn't mean that
scripts in "build_requires" will get installed if the user has
configured build_requires not to be installed but only made available
during build.  That's a perfectly reasonable use case -- one of the
reasons why "build_requires" exists distinct from "requires" in the
first place.

> Indeed.  A system that only test()s is not, IMO, a reasonable testing
> system because real users just don't do that.

What about ActiveState and the PPM build system?  And I would imagine
that some of the unix distributions might similarly need to confirm
that "test" works successfully and then package up blib without
installing.  There are lots of 'real users' -- some might well load
the CPAN shell and run 'test Foo::Bar::Baz' before calling 'install
Foo::Bar::Baz'.  The distribution shouldn't care.  CPAN.pm should make
sure listed dependencies can be found.

>> Hey, David Cantrell -- how about Devel::CheckBin to go along in the
>> series with Devel::CheckLib and Devel::CheckOS?  :-)
>
> What should it do?  Look for a named binary in the $PATH and
> $Config{whateverbin}?  What about checking that the frobnitz command it
> finds is the frobnitz command that you want?  If you don't think that
> the latter matters, consider the case of specifically needing GNU make
> or GNU tar.

I'd suggest searching in $ENV{PATH} and $Config{whateverbin} and
returning an array of paths for any commands that match.  (Extra
credit -- match frobnitz/frobnitz.exe/frobnitz.bat on win32).  Haven't
really thought about priority.  Probably $ENV{PATH} should take
precedence as it's what shows up on the command line.

Figuring out whether any path returned is the 'right' frobnitz is an
exercise for the programmer.

David

Reply via email to