X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/8fdb37d7bc1a36a1a558f5c0e34df38f1d4e5507..310c7a1d0b8d80aca5bdd548b3cac632d4ef7aab:/pm_filter diff --git a/pm_filter b/pm_filter index 98cb5bd9e..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{^(#!.*perl.*?) -T$}) { - $_=qq{$1\n}; +elsif ($. == 1 && ($ENV{NOTAINT}=0) && m{^(#!.*perl.*?)$}) { + $_=qq{$1 -T\n}; } -elsif (/^\$ENV{PATH}="(.*)";/) { - $_="\$ENV{PATH}=\"$1:$prefix/bin\";\n"; +elsif (/^\$ENV\{PATH}="(.*)";/) { + $_="\$ENV{PATH}=\"\Q$1\E:\Q$prefix\E/bin\";\n"; }