"A. Pagaltzis" <[EMAIL PROTECTED]> writes:

> That seems wrong. Every module you install contains lists of
> dependencies, one list for runtime, one for build-time.
>
> The CPAN shell won’t ask questions about missing dependencies,
> that is true. But why does that matter? You have the dependency
> lists anyway.

Let's try to work out an example. You have a build system, and a
series of production systems. The production systems need module
Foo::Simple.

Module Foo::Simple requires Foo::Heavy at run-time, and
Test::Ridiculous at build time.

A mere build (not install, just build) of Foo::Simple causes
Foo::Heavy and Test::Ridiculous to be installed on the build system[1].
After install of Foo::Simple, three new modules got added to the build
system.

If Test::Ridiculous were not installed, I could chase down the perl
installation to find out what files were added[2], and distribute
these to the production systems. Now I have to manually weed out the
files that are not needed for production.

As I said, it increases the maintenance load.

-- Johan

[1] So if you decide not to use Foo::Heavy after all, you can't just
    throw away the build results since the build system has already
    been permanently modified.

[2] Module::Build at least provides a target fakeinstall that will
    provide this information. Unfortunately, most modules are still
    MakeMaker based.


Reply via email to