Subject: Re: [PATCHv2/RFC] gitweb: Prepare for splitting gitweb

From: Jakub Narebski <[email-masked]>
Date: Wed, 14 Jul 2010 23:21:24 +0200

On Wed, 14 Jul 2010, Ævar Arnfjörð Bjarmason wrote:
> On Wed, Jul 14, 2010 at 09:24, Jakub Narebski <[email-masked]> wrote:
>> On Wed, 14 Jul 2010, Ævar Arnfjörð Bjarmason wrote:
>>> On Tue, Jul 13, 2010 at 22:24, Jakub Narebski <[email-masked]> wrote:
>>>
>>>> I wrote simple script that tests result of __DIR__ and $FindBin::Bin.
>>>> For cgi-bin / mod_cgi it was:
>>>>
>>>>  __DIR__       = /var/www/cgi-bin/gitweb (symlink to /home/local/gitweb)
>>>>  $FindBin::Bin = /home/local/gitweb
>>>>
>>>> For mod_perl (ModPerl::Registry handler) it was
>>>>
>>>>  __DIR__       = /var/www/perl/gitweb (symlink to /home/local/gitweb)
>>>>  $FindBin::Bin = /
>>>>
>>>> As you can see it's useless.  I have't checked the FastCGI case...
>>>
>>> Thanks for spending time researching what was an offhand ignorant "hey
>>> wasn't .." comment. Also, sorry :)
>>
>> Nothing to it.  I wanted to check if there really is a problem with
>> FindBin on mod_perl, as I was not sure with description in "Known Issues"
>> section in FindBin manpage.
>>
>> Note that using 'FindBin->again();' after 'use FindBin;' fixes this
>> issue.  So perhaps it would be beter to use FindBin than borrow code
>> for __DIR__ from Dir::Self.
> 
> That should work, though note that FindBin->again requires at least
> perl 5.8.3. This should work on older versions (if Gitweb cares):
> 
>     if ($] <= 5.008003) {
>         delete $INC{'FindBin.pm'};
>         require FindBin;
>     } else {
>         FindBin->again;
>     }
> 
> See https://rt.cpan.org/Public/Bug/Display.html?id=57988 and
> http://search.cpan.org/diff?from=Module-Install-0.98&to=Module-Install-0.99
> for reference.

Thanks for research.

I don't think gitweb cares, as it requires Perl with sane Unicode support,
which means at least Perl 5.8.0 (for Encode module), but I think it really
means at least 5.8.3

-- 
Jakub Narebski
Poland