Re: Question about PERL_PATH
From: Michael J Gruber <hidden>
Date: 2016-06-15 22:51:10
Ian Abbott venit, vidit, dixit 06.05.2011 15:30:
The Gentoo ebuilds for git have started invoking 'make' with the option 'PERL_PATH=/usr/bin/env perl'. This doesn't seem to cause any problems except when running git instaweb, which outputs an error similar to the following:
Well, it means that all our perl scripts are run with the perl which is the first in PATH at run time (for the user running it), which may or may not be the one which is first in PATH at build or test time (for the user running that). Of course there's no problem when they are the same.
/usr/libexec/git-core/git-instaweb: line 135: /usr/bin/env perl: No such file or directory There is an easy workaround, which is to modify the invocation of perl in the httpd_is_ready() function in the git-instaweb shell script. It currently invokes perl as "$PERL" (with the quotes). Removing the quotes makes it work. My question is, should git support Gentoo's unusual setting of PERL_PATH as a multi-word command, or should Gentoo patch around the problem they have created with git-instaweb themselves? There is one other place where $PERL is used in git-instaweb and that is in the mongoose_conf() function. It has a heredoc that puts the following line in the httpd.conf file (subject to shell variable expansion): cgi_interp $PERL For Gentoo, that would get expanded to the following: cgi_interp /usr/bin/env perl I don't know if Mongoose would choke on this or not.
For a system wide installed package, it just seems like a crazy idea to package it in a way which makes it depend on the contents of users' $HOME/bin and such. What kind of packaging is that? I mean, package git depends on package perl, but then leave the meaning of "perl" at the users' discretion and mercy... Michael