From d513369bfa03e92c3289109560da4062b1d3625d Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Sat, 2 Jul 2016 16:39:15 +0200 Subject: [PATCH 1/1] perl: Separate compile-time environment from runtime environment Make it possible to have a separate and different perl command string for installable scripts than we use when building, with the environment variable HASHBANGPERL. Its value default to the same as the environment PERL if it's defined, otherwise '/usr/bin/env perl'. Note: this is only relevant for Unix-like environments. Reviewed-by: Rich Salz Reviewed-by: Andy Polyakov Reviewed-by: Kurt Roeckx --- Configure | 4 ++++ INSTALL | 9 ++++++++- apps/CA.pl.in | 2 +- apps/tsget.in | 2 +- tools/c_rehash.in | 2 +- 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Configure b/Configure index f8a6ec2e84..f43b5bfa36 100755 --- a/Configure +++ b/Configure @@ -913,7 +913,11 @@ $config{cross_compile_prefix} = $ENV{'CROSS_COMPILE'} if $config{cross_compile_prefix} eq ""; # Allow overriding the names of some tools. USE WITH CARE +# Note: only Unix cares about HASHBANGPERL... that explains +# the default string. $config{perl} = $ENV{'PERL'} || ($^O ne "VMS" ? $^X : "perl"); +$config{hashbangperl} = + $ENV{'HASHBANGPERL'} || $ENV{'PERL'} || "/usr/bin/env perl"; $target{cc} = $ENV{'CC'} || $target{cc} || "cc"; $target{ranlib} = $ENV{'RANLIB'} || $target{ranlib} || (which("$config{cross_compile_prefix}ranlib") ? diff --git a/INSTALL b/INSTALL index 29db22ea75..0f246060fa 100644 --- a/INSTALL +++ b/INSTALL @@ -722,7 +722,14 @@ variable can be set to the directory where these files are held. PERL - The name of the Perl executable to use. + The name of the Perl executable to use when building OpenSSL. + + HASHBANGPERL + The command string for the Perl executable to insert in the + #! line of perl scripts that will be publically installed. + Default: /usr/bin/env perl + Note: the value of this variable is added to the same scripts + on all platforms, but it's only relevant on Unix-like platforms. RC The name of the rc executable to use. The default will be as diff --git a/apps/CA.pl.in b/apps/CA.pl.in index 0dec24c36f..3187e473d2 100644 --- a/apps/CA.pl.in +++ b/apps/CA.pl.in @@ -1,4 +1,4 @@ -#!{- $config{perl} -} +#!{- $config{hashbangperl} -} # Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use diff --git a/apps/tsget.in b/apps/tsget.in index 7067111552..89d1bc7ea3 100644 --- a/apps/tsget.in +++ b/apps/tsget.in @@ -1,4 +1,4 @@ -#!{- $config{perl} -} +#!{- $config{hashbangperl} -} # Copyright (c) 2002 The OpenTSA Project. All rights reserved. # Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. # diff --git a/tools/c_rehash.in b/tools/c_rehash.in index 949e44f075..2fef62784f 100644 --- a/tools/c_rehash.in +++ b/tools/c_rehash.in @@ -1,4 +1,4 @@ -#!{- $config{perl} -} +#!{- $config{hashbangperl} -} # {- join("\n# ", @autowarntext) -} # Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. -- 2.34.1