On 9/8/06, Adam Kennedy <[EMAIL PROTECTED]> wrote:

On another subject that came up today one one of my modules
(specifically the new Test::Object dependency of PPI) it seems like it
could be a bad idea to have explicit dependencies on the latest version
of a dual-life module.

One of the linux distro guys pinged me about Test::Object needing the
very latest (CPAN-only) version of Test::Builder, because it means they
can't package it properly for the distros without upgrading the main
Perl package. Some packaging systems can't handle having the same file
in more than one distro it seems.

I think that this is a general problem that probably requires some
pushback towards the packaging system maintainers.

The concept that a package can contain numerous parts, some of which
may be superseded by later released stand alone parts shouldnt be a
surprise to anyone. It happens all the time in every aspect of life.

This came up recently for me with regard to EU::MakeMaker and
EU::Install. The package EU::Install is contained by both EUMM and
EUI. In principle the EUMM package shouldnt install its EU::I unless
the existing EU::I is older than the one it contains. OTOH, the EUI
package should always be used if one wants to upgrade it alone.

I personally dont think that this is a bizarre use case. EUMM needs to
have EUI to do its thing, and EUMM needs to have EUI around to do its
thing. But they can be updated independently. Such a chicken and egg
kind of relationship probably isnt that unusual. The only solution
can't be that you have to bundle them together or bundle them all
independently.

On win32 this is an old problem that is mostly dealt with
transparently to the user (except when its done badly in which case
things can go horribly wrong). Its common for a package to bundle
various items, particularly .dll's, but not install them when it finds
that later versions are available from some other source.

BTW, im not saying that this is an easy problem to resolve, or that im
interested in rushing out and solving it myself. But it seems to me to
be one that needs solving. :-)

I mean, we are talking about tools here, can you imagine going into a
hardward store and finding out that you cant replace a tool from a
toolset without replacing the entire toolset? Or conversly that nobody
offers a complete toolbox just because then they would be forbidden
from supplying the individual tools alone?

Anyway, sorry, minor rant. Ill shut up now.

:-)

Cheers,
Yves

--
perl -Mre=debug -e "/just|another|perl|hacker/"

Reply via email to