On Sun, 2006-07-09 13:33:04 -0700, Junio C Hamano <junkio@xxxxxxx> wrote: > Michal Rokos <michal.rokos@xxxxxxxxxxx> writes: > > On Sunday 09 July 2006 12:14, Junio C Hamano wrote: > >> Michal, is there a reason you do not want to have the version of > >> perl you teach git tools via #! lines with PERL_PATH on your $PATH? > > > > I have no problem with that. I can set $PATH. > > But then I'd suggest to change magic #! > > from #!/usr/bin/perl > > to #!/usr/bin/env perl > > for *.perl > > > > It that what you meant? > > No, that is not what I meant. Though I think you actually should :-) > Invocation of perl _in_ scripts can be controlled by user's > PATH, but #! cannot be. As Merlyn says 'env' is a nice hack, > but we configure the scripts we install to have #! pointing at > the right interpreter as a more cleaner (than using 'env', that > is) workaround anyway, so #! pointing at PERL_PATH and scripts > relying on user's $PATH would be the right thing to do. It's just a question of the target system, so: What is our target? If we target a fairly recent Unix box, we'd put whatever a user asked for into the shellbang, and hope that he properly sets $PATH. If we try to aim at POSIX systems, then first of all, `env' isn't a hack. It's specified i the POSIX documents, even argument passing is given. (So if `#!/usr/bin/env perl -w' doesn't work on a HP-UX system, that's simply broken wrt. POSIX.) At the maximum, we'd allow the user to supply the location of `env' if it's not /usr/bin/env, but I guess you'll find a hard time finding a system where there's no /usr/bin/env... The final killer would be to explicitely mention the interpreter and install all scripts a-x to force that :-) MfG, JBG -- Jan-Benedict Glaw jbglaw@xxxxxxxxxx . +49-172-7608481 _ O _ "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg _ _ O für einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! O O O ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
Attachment:
signature.asc
Description: Digital signature