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/"