Date: Thu, 9 Jun 2005 12:37:20 -0400 From: Garance A Drosehn <gad@FreeBSD.org> To: "Matthew D. Fuller" <fullermd@over-yonder.net> Cc: freebsd-arch@FreeBSD.org, freebsd-ports@FreeBSD.org, Kris Kennaway <kris@obsecurity.org> Subject: Re: Bug in #! processing - "pear broken on current" Message-ID: <p06210259bece1ae26f44@[128.113.24.47]> In-Reply-To: <20050609160316.GC16677@over-yonder.net> References: <200506090027.j590R2t0070899@repoman.freebsd.org> <20050609003619.GA10578@xor.obsecurity.org> <20050609100815.GB16677@over-yonder.net> <p06210258bece1422da20@[128.113.24.47]> <20050609160316.GC16677@over-yonder.net>
next in thread | previous in thread | raw e-mail | index | archive | help
[moved over from the thread: Re: cvs commit: src/sys/kern imgact_shell.c on the cvs-src mailing list...] At 11:03 AM -0500 6/9/05, Matthew D. Fuller wrote: >On Thu, Jun 09, 2005 at 12:00:17PM -0400 I heard the voice of >Garance A Drosehn, and lo! it spake thus: > > Matthew wrote: > > ] See also the "pear broken on current" thread on -current > > ] and -ports around last weekend. Of course, I don't know > > ] if pear is wrong in what it's trying to do, but the change > > ] does appear to throw it off. > > > > I'm also willing to write some more changes to sh/options.c, if > > that is the best place to fix the problems that these ports are > > running into. > >Well, I dunno what part of it is giving troubles (and I haven't seen >it myself, since I'm still on RELENG_5 for the moment; just keeping my >eyes open). It doesn't seem like a terribly esoteric line though: > >#!/usr/local/bin/php -n -q -dsafe_mode=0 -doutput_buffering=1 It is very likely that the problem which is being seen with this script is due to the change in parsing I committed on May 28th. Before the change, php would have been started up with: [0] -> /usr/local/bin/php [1] -> -n [2] -> -q [3] -> -dsafe_mode=0 [4] -> -doutput_buffering=1 [5] -> /usr/local/bin/name-of-script [6...] -> parameters specified by user and now php is being started with: [0] -> /usr/local/bin/php [1] -> -n -q -dsafe_mode=0 -doutput_buffering=1 [2] -> /usr/local/bin/name-of-script [3...] -> parameters specified by user Assuming 'php' does not know what to do when all those options are glommed together in a single argument, then the above script would not work right on any other operating systems either. The change I made on the 28th gets FreeBSD to work more like other OS's when it comes to parsing that #!-line in scripts. Changes to /bin/sh would not fix this, because /bin/sh is not involved in this situation. But the change I'm thinking of for /usr/bin/env could be used to fix this, once I write up that change... -- Garance Alistair Drosehn = gad@gilead.netel.rpi.edu Senior Systems Programmer or gad@FreeBSD.org Rensselaer Polytechnic Institute; Troy, NY; USA
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?p06210259bece1ae26f44>