Subject: | Pod::Simple::Search skips some architecture directories |
I'm using Gentoo Linux and perl 5.8.8. For some reason, some of the
architecture directories (i686-linux) are listed after the corresponding
non-arch directory in @INC. Pod::Simple::Search has a real problem with
that.
For example, here's part of my @INC:
/usr/lib/perl5/vendor_perl/5.8.8/i686-linux
/usr/lib/perl5/vendor_perl/5.8.8
/usr/lib/perl5/vendor_perl/5.8.7
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux
Pod::Simple::Search looks in the first 3 directories ok, but when it
comes to 5.8.7/i686-linux, I get this (with verbose(1)):
Looking in dir /usr/lib/perl5/vendor_perl/5.8.7/i686-linux
i686-linux is a fishy directory name. Skipping.
Back from excursion under /usr/lib/perl5/vendor_perl/5.8.7
Directory '/usr/lib/perl5/vendor_perl/5.8.7/i686-linux' already seen,
skipping.
Therefore, it doesn't see any modules under
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux. I worked around it with
the attached patch, but that's probably not the best solution. It
should just not mark directories as visited when it's pruning them.
Subject: | archname.patch |
--- Search.pm~ 2006-07-20 14:40:45.000000000 -0500
+++ Search.pm 2006-05-27 20:44:37.791405455 -0500
@@ -156,6 +156,8 @@
if( m/^([A-Za-z][a-zA-Z0-9_]*)\z/s ) {
$verbose and print "$_ is a well-named module subdir. Looking....\n";
+ } elsif( $_ eq $Config::Config{'archname'}) {
+ $verbose and print "$_ is an architecture subdir. Looking....\n";
} else {
$verbose and print "$_ is a fishy directory name. Skipping.\n";
return 'PRUNE';