aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2018-10-28 12:22:32 -0400
committerAndrew Dunstan <andrew@dunslane.net>2018-10-28 12:25:10 -0400
commita71f55652276805289d73dd88bc8f18e4a4d9ab2 (patch)
tree98a871b6a07c724f061f635f4b3a0ae7bd733022
parentaa9642acb96b253f80c940f7b6bce38c7cca2c0f (diff)
downloadpostgresql-a71f55652276805289d73dd88bc8f18e4a4d9ab2.tar.gz
postgresql-a71f55652276805289d73dd88bc8f18e4a4d9ab2.zip
Fix perl searchpath for modern perl for MSVC tools
Modern versions of perl no longer include the current directory in the perl searchpath, as it's insecure. Instead of adding the current directory, we get around the problem by adding the directory where the script lives. Problem noted by Victor Wagner. Solution adapted from buildfarm client code. Backpatch to all live versions.
-rwxr-xr-xsrc/tools/msvc/install.pl4
-rw-r--r--src/tools/msvc/mkvcbuild.pl4
-rw-r--r--src/tools/msvc/vcregress.pl2
3 files changed, 10 insertions, 0 deletions
diff --git a/src/tools/msvc/install.pl b/src/tools/msvc/install.pl
index b2d7f9e040b..90425ca8fc6 100755
--- a/src/tools/msvc/install.pl
+++ b/src/tools/msvc/install.pl
@@ -6,6 +6,10 @@
use strict;
use warnings;
+use File::Basename;
+use File::Spec;
+BEGIN { use lib File::Spec->rel2abs(dirname(__FILE__)); }
+
use Install qw(Install);
# buildenv.pl is for specifying the build environment settings
diff --git a/src/tools/msvc/mkvcbuild.pl b/src/tools/msvc/mkvcbuild.pl
index 9255dff022d..34e861375c0 100644
--- a/src/tools/msvc/mkvcbuild.pl
+++ b/src/tools/msvc/mkvcbuild.pl
@@ -7,6 +7,10 @@
use strict;
use warnings;
+use File::Basename;
+use File::Spec;
+BEGIN { use lib File::Spec->rel2abs(dirname(__FILE__)); }
+
use Mkvcbuild;
chdir('..\..\..') if (-d '..\msvc' && -d '..\..\..\src');
diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl
index d4f61c7b3fd..5227023ad0c 100644
--- a/src/tools/msvc/vcregress.pl
+++ b/src/tools/msvc/vcregress.pl
@@ -10,6 +10,8 @@ use Cwd;
use File::Basename;
use File::Copy;
use File::Find ();
+use File::Spec;
+BEGIN { use lib File::Spec->rel2abs(dirname(__FILE__)); }
use Install qw(Install);