httpd-test-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stas Bekman <s...@stason.org>
Subject Re: resolving Apache::Test vs. Apache::test collision
Date Tue, 06 May 2003 00:44:30 GMT
David Wheeler wrote:
> 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:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


Mime
View raw message