From owner-cvs-src@FreeBSD.ORG  Sat May 28 22:57:17 2005
Return-Path: <owner-cvs-src@FreeBSD.ORG>
X-Original-To: cvs-src@FreeBSD.org
Delivered-To: cvs-src@FreeBSD.org
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 11BB316A41C;
	Sat, 28 May 2005 22:57:17 +0000 (GMT) (envelope-from gad@FreeBSD.org)
Received: from smtp3.server.rpi.edu (smtp3.server.rpi.edu [128.113.2.3])
	by mx1.FreeBSD.org (Postfix) with ESMTP id B20A443D1F;
	Sat, 28 May 2005 22:57:16 +0000 (GMT) (envelope-from gad@FreeBSD.org)
Received: from [128.113.24.47] (gilead.netel.rpi.edu [128.113.24.47])
	by smtp3.server.rpi.edu (8.13.0/8.13.0) with ESMTP id j4SMvESH024285;
	Sat, 28 May 2005 18:57:15 -0400
Mime-Version: 1.0
Message-Id: <p06210206bebea519c926@[128.113.24.47]>
In-Reply-To: <200505282242.j4SMgfBD032414@repoman.freebsd.org>
References: <200505282242.j4SMgfBD032414@repoman.freebsd.org>
Date: Sat, 28 May 2005 18:57:14 -0400
To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
From: Garance A Drosehn <gad@FreeBSD.org>
Content-Type: text/plain; charset="us-ascii" ; format="flowed"
X-CanItPRO-Stream: default
X-RPI-SA-Score: undef - spam-scanning disabled
X-Scanned-By: CanIt (www . canit . ca) on 128.113.2.3
Cc: 
Subject: Re: cvs commit: src/sys/kern imgact_shell.c
X-BeenThere: cvs-src@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: CVS commit messages for the src tree <cvs-src.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/cvs-src>,
	<mailto:cvs-src-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/cvs-src>
List-Post: <mailto:cvs-src@freebsd.org>
List-Help: <mailto:cvs-src-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/cvs-src>,
	<mailto:cvs-src-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 28 May 2005 22:57:17 -0000

At 10:42 PM +0000 5/28/05, Garance A Drosehn wrote:
>gad         2005-05-28 22:42:41 UTC
>
>   FreeBSD src repository
>
>   Modified files:
>     sys/kern             imgact_shell.c
>   Log:
>   Change the way options are parsed on the `#!'-line of a shell-script.
>   Instead of having the kernel parse that line and add an entry to the
>   argument list for each 'separate word' it finds, have it add only one
>   entry which holds all the words found on that line.  The old behavior
>   is useful in some situations, but it does not match the way any other
>   operating system will parse that line.

In case it is not obvious from that description, note that this is
an incompatible change.  However, it is expected that this change
should not effect too many scripts.  Also, there was  a recent
commit (v1.23) to bin/sh/options.c which should address the problem
that was most likely to come up due to this change.

For some examples of what kinds of breakage this change might cause,
please check:  http://people.freebsd.org/~gad/Updating-20050528.txt

It is not documented, but this change also provides a TEMPORARY way
to side-step this change, if you have some specific script where you
need immediate fix.

If you start the script with:  #!#<
              instead of just:  #!
(followed by the interpreter name, such as /bin/sh), then that script
will be processed exactly the same way it was processed before this
change.  Note that I expect to delete that option before very long,
unless someone speaks up with some alternate way that this should be
done.  So, don't just use this trick to fix some script and then
forget about the larger issue.  Discuss it on freebsd-arch.

-- 
Garance Alistair Drosehn     =      gad@gilead.netel.rpi.edu
Senior Systems Programmer               or   gad@FreeBSD.org
Rensselaer Polytechnic Institute;             Troy, NY;  USA