X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/9f02ee863454693dce8fcb209c28c1d2efa0ff77..54095ea655b63ab8f2cefba43622df683f89e4fe:/pm_filter diff --git a/pm_filter b/pm_filter index a66cf2154..7b03418ab 100755 --- a/pm_filter +++ b/pm_filter @@ -7,22 +7,27 @@ BEGIN { } if (/INSTALLDIR_AUTOREPLACE/) { - $_=qq{my \$installdir="$prefix";}; + $_=qq{our \$installdir="\Q$prefix\E";}; } elsif (/VERSION_AUTOREPLACE/) { - $_=qq{our \$version="$ver";}; + $_=qq{our \$version="\Q$ver\E";}; } -elsif (/^use lib/) { - if (grep { $_ eq $libdir } @INC) { +elsif (/^(?:use FindBin; *)?use lib/) { + # The idea here is to figure out if the libdir the Makefile.PL + # was configured to use is in perl's normal search path. + # If not, hard code it into ikiwiki. + if ((grep { $_ eq $libdir } @INC) && + (! exists $ENV{PERL5LIB} || ! length $ENV{PERL5LIB} || + $ENV{PERL5LIB} ne $libdir)) { $_=""; } else { - $_="use lib '$libdir';\n"; + $_="use lib \"\Q$libdir\E\";\n"; } } -elsif ($. == 1 && ($ENV{NOTAINT} || ! exists $ENV{NOTAINT}) && m{^(#!/usr/bin/perl) -T$}) { - $_=qq{$1\n}; +elsif ($. == 1 && ($ENV{NOTAINT}=0) && m{^(#!.*perl.*?)$}) { + $_=qq{$1 -T\n}; } -if (/^\$ENV{PATH}="(.*)";/) { - $_="\$ENV{PATH}=\"$1:$prefix/bin\";\n"; +elsif (/^\$ENV\{PATH}="(.*)";/) { + $_="\$ENV{PATH}=\"\Q$1\E:\Q$prefix\E/bin\";\n"; }