Re: make-3.74-12 uploaded to master
Hi,
Ian Jackson <ian@chiark.chu.cam.ac.uk> writes:
Ian> srivasta@pilgrim.umass.edu writes ("make-3.74-12 uploaded to master"):
Manoj> * Added patch to job.c to allow make to exec scripts
Manoj> which do not have the #! magic as the first line.
Manoj> This fixed Bug#1149
Ian> Why should make execute scripts which don't have a #! line ?
Ummm,
(a) I don't think it should be upto make to tell the user what
they could run or not run from their makefiles,
(b) there is prior art in the form of programs that expect
make to execute scripts which don't have a #!
line. (supposedly it is used to make the scripts directly
executable on platforms that do not support the
interpreter line).
(c) I would rather not go into the merits of programming
scripts like that, but I think I'd rather make was
permissive than otherwise.
(d) Also, the upstream maintainers seem to agree with this
view, since this fix will be included in the next version,
whenever that may be.
(e) POSIX.1 seems to require it:
In POSIX mode, make executes with POSIX compatibility, such that the SHELL
environment variable is always ignored, SHELL is always overridden by
MAKESHELL, the shell is always used to execute commands, and commands are
echoed to standard out with a prefixed <tab>.
...
The #! identifies the file as an executable text file.
...
If the process image file is not a valid executable object, then the
contents of that file are used as standard input to a command
interpreter conforming to the system() function. In this case, the
command interpreter becomes the new process image.
manoj
======================================================================
"true" || eval 'exec /usr/local/bin/perl -S $0 $argv:q';
eval '(exit $?0)' && eval 'exec /usr/local/bin/perl -S $0 ${1+"$@"}'
& eval 'exec /usr/local/bin/perl -S $0 $argv:q'
if $running_under_some_shell;
======================================================================
--
It is wrong always, everywhere and for everyone to believe anything
upon insufficient evidence. -- W. K. Clifford, British philosopher,
circa 1876 %%
Manoj Srivastava Systems Research Programmer, Project Pilgrim,
Phone: (413) 545-3918 A143B Lederle Graduate Research Center,
Fax: (413) 545-1249 University of Massachusetts, Amherst, MA 01003
<srivasta@pilgrim.umass.edu> <URL:http://www.pilgrim.umass.edu/%7Esrivasta/>
Reply to: