From 1df92eeafefac471b8bcb00244452c645e4e14fd Mon Sep 17 00:00:00 2001 From: Andrew Dunstan Date: Sun, 28 Oct 2018 12:22:32 -0400 Subject: [PATCH] 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. --- src/tools/msvc/install.pl | 4 ++++ src/tools/msvc/mkvcbuild.pl | 4 ++++ src/tools/msvc/vcregress.pl | 2 ++ 3 files changed, 10 insertions(+) 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 ce5c976c16e..26ab707d9f5 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -11,6 +11,8 @@ use File::Basename; use File::Copy; use File::Find (); use File::Path qw(rmtree); +use File::Spec; +BEGIN { use lib File::Spec->rel2abs(dirname(__FILE__)); } use Install qw(Install);