]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - pm_filter
CVE id
[git.ikiwiki.info.git] / pm_filter
index 287adc376af82d8bc52897829ec353cd33584f82..1e51f9dd347c79e738d4aa9b4ef33da86aeafbfa 100755 (executable)
--- a/pm_filter
+++ b/pm_filter
@@ -7,19 +7,27 @@ BEGIN {
 }
 
 if (/INSTALLDIR_AUTOREPLACE/) {
 }
 
 if (/INSTALLDIR_AUTOREPLACE/) {
-       $_=qq{my \$installdir="$prefix";};
+       $_=qq{our \$installdir="$prefix";};
 }
 elsif (/VERSION_AUTOREPLACE/) {
        $_=qq{our \$version="$ver";};
 }
 elsif (/^use lib/) {
 }
 elsif (/VERSION_AUTOREPLACE/) {
        $_=qq{our \$version="$ver";};
 }
 elsif (/^use lib/) {
-       if (grep { $_ eq $libdir } @INC) {
+       # 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";
        }
 }
                $_="";
        }
        else {
                $_="use lib '$libdir';\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};
+}
+elsif (/^\$ENV{PATH}="(.*)";/) {
+       $_="\$ENV{PATH}=\"$1:$prefix/bin\";\n";
 }
 }