[PATCH 2/5] build: use proper quoting in autogen.sh

Gaetan Nadon memsize at videotron.ca
Sun Nov 28 11:58:47 PST 2010


On Sun, 2010-11-28 at 19:58 +0100, Roland Mainz wrote:

> On Sun, Nov 28, 2010 at 7:47 PM, Gaetan Nadon <memsize at videotron.ca> wrote:
> > On Sun, 2010-11-28 at 15:47 +0100, Jan Engelhardt wrote:
> >
> > Signed-off-by: Jan Engelhardt <jengelh at medozas.de>
> > ---
> >  autogen.sh |    8 ++++----
> >  1 files changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/autogen.sh b/autogen.sh
> > index 904cd67..90d2520 100755
> > --- a/autogen.sh
> > +++ b/autogen.sh
> > @@ -1,12 +1,12 @@
> >  #! /bin/sh
> >
> > -srcdir=`dirname $0`
> > +srcdir=`dirname "$0"`
> >  test -z "$srcdir" && srcdir=.
> >
> >  ORIGDIR=`pwd`
> > -cd $srcdir
> > +cd "$srcdir"
> >
> >  autoreconf -v --install || exit 1
> > -cd $ORIGDIR || exit $?
> > +cd "$ORIGDIR" || exit $?
> >
> > -$srcdir/configure --enable-maintainer-mode "$@"
> > +exec "$srcdir/configure" --enable-maintainer-mode "$@"
> >
> > I am not expert in quoting, can you explain how this is more appropriate?
> > If it is, then all other autogen.sh should be changed as well.
> > I am always looking for improvement.
> 
> Without double-quotes an variable expansion (e.g. ${var}) is subject
> to field splitting (for each character listed in the variable IFS -
> which by default contains <space>, <tab>, <newline>).
> Example (note that "sh" is expected to be a POSIX sh-like shell):
> Without double-quotes the "printf" utility will see the value "foo
> bar" as two arguments (note that printf(1) will repeatedly use the
> format until all arguments have been used-up):
> -- snip --
> $ sh -c 'x="foo bar" ; printf "|%s|\n" $x'
> |foo|
> |bar|
> -- snip --
> With double-quotes it will print:
> -- snip --
> $ sh -c 'x="foo bar" ; printf "|%s|\n" "$x"'
> |foo bar|
> -- snip --
> 
> It's usually recommended to use double-quotes unless field splitting
> is really wanted (or set IFS='' to disable field-splitting).
> 

Thanks. I tried to run autogen.sh on a module installed in a source
directory containing a space
and it failed.


> ----
> 
> Bye,
> Roland
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg/attachments/20101128/f6e1cda7/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg/attachments/20101128/f6e1cda7/attachment.pgp>


More information about the xorg mailing list