Re: [PATCH] Allow PERL_PATH="/usr/bin/env perl"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bryan Larsen <bryan@xxxxxxxxx> wrote:
> The perl scripts start with "#!/usr/bin/perl".  There is a mechanism 
> PERL_PATH in the Makefile to change this, but it currently doesn't work 
> with PERL_PATH="/usr/bin/env perl".  This is causing problems in 
> MacPorts, where we wish to work with the MacPorts perl if it is 
> installed, but fall back to the system perl if it isn't.
> 
> Signed-off-by: Bryan Larsen <bryan@xxxxxxxxx>
> ---
>  perl/Makefile |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/perl/Makefile b/perl/Makefile
> index 17d004e..2832cb4 100644
> --- a/perl/Makefile
> +++ b/perl/Makefile
> @@ -33,7 +33,7 @@ $(makfile): ../GIT-CFLAGS Makefile
>         echo '  echo $(instdir_SQ)' >> $@
>  else
>  $(makfile): Makefile.PL ../GIT-CFLAGS
> -       '$(PERL_PATH_SQ)' $< PREFIX='$(prefix_SQ)'
> +       $(PERL_PATH_SQ) $< PREFIX='$(prefix_SQ)'
>  endif

This will break if someone actually had ' in their PERL_PATH:

	PERL_PATH="/path'to'perl"

as PERL_PATH_SQ tries to close the single quoted string you don't
open anymore.  That is because it is defined to be PERL_PATH,
but with all ' replaced by '\''.

This change also breaks for anyone who had spaces in their PERL_PATH.

Can I ask why you can't just supply a small wrapper shellscript
with MacPorts

	cat >perl <<EOF
	#!/bin/sh
	exec env perl "$@"
	EOF
	chmod a+x perl

?  Or better yet, supply Git the correct Perl path?  If/when we ever
go to native Perl libraries again a Git Perl library compiled for
the system perl may not work later when the user installs a newer
MacPorts perl.  Switching automatically to the MacPorts perl without
recompiling the native extensions is a little evil...

-- 
Shawn.
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]