On Monday, May 5, 2003, at 05:19 PM, Geoffrey Young wrote:
ok, so it's not like that I don't believe that this is an issue, but I don't believe you - if you have Apache/test.pm and you install 2.0 then Apache/Test.pm would replace the existing file, no? that's why Apache2 is around for all the mod_perl based stuff - to keep Apache::Filter from 2.0 from cloberring Apache::Filter from 1.0
The problem is not when you install mod_perl2 (though it might be, I honestly have no idea). The problem is when you have mod_perl1 and install Apache::Test from CPAN. No mp2 involved.
it could be the same issue when installing mp2, but as you say it's unrelated.
if installing Apache::Test doesn't clobber Apache::test on case-insensitive installations, _that_ seems like a bug to me :)
Agreed. See http://rt.perl.org/rt2/Ticket/Display.html?id=22077
bug or not bug, we have to deal with older perls.
My other suggestion was:
>> I think I have another idea. Remember I was proposing to replace >> Apache/test.pm with a new Apache/test.pm with the same functionality. >> The problem you said was that Apache/test.pm from mp1 was installed in >> a different location. But if we provide both Apache/test.pm and >> Apache/Test.pm (which would be really the same file, so whichever >> [Tt]est.pm will be picked it'll just work), won't Makefile.PL deal >> with that correctly? It will warn a user if there is another >> Apache/test.pm installed elsewhere and UNINST=1 will nuke it.
And David has replied:
> Hrm, dunno. Given a case-insensitive file system, I would think that > such a check in Makefile.PL would work correctly, anyway, finding > Apache::test when installing Apache::Test. OTOH, I recently upgraded > Locale::Maketext from CPAN, and it didn't overwrite the version > distributed as part of the core, even though they _are_ named exactly > the same way.
So it's actually a good thing that you have raised this issue. If it was overriding Apache/test.pm people won't be able to run tests on their mp1 Apache:: modules.
So it seems that the only correct solution (assuming that we don't want to rename Apache::Test), is to provide a back-compatibility functionality inside Apache::Test and install Apache/Test.pm and Apache/test.pm (which should be the same thing, so no matter what OS decides to load it still works the same. And Apache::Test's Makefile.PL has to find any installed Apache/test.pm and nuke it on 'make install', replacing with an imposter version of Apache/test.pm.
__________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com