Message ID | 20180221205555.2728-1-gael.portay@savoirfairelinux.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] pkgconf: pkg-config.in: double quote $@ | expand |
Hello, On Wed, 21 Feb 2018 15:55:54 -0500, Gaël PORTAY wrote: > Double quote $@ to prevent from splitting elements. > > Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> Could you give more details about what this is fixing, i.e a specific scenario that is fixed by this patch ? Thanks! Thomas
Thomas, On Wed, Feb 21, 2018 at 10:13:16PM +0100, Thomas Petazzoni wrote: > Hello, > > On Wed, 21 Feb 2018 15:55:54 -0500, Gaël PORTAY wrote: > > Double quote $@ to prevent from splitting elements. > > > > Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> > > Could you give more details about what this is fixing, i.e a specific > scenario that is fixed by this patch ? In the case pkgconf, I can not see a real situation where this patch fixes an issue. There is an important difference between $@ and "$@". The shell expands "$@" as "$1" "$2" "$3"... while it expands $@ as $1 $2 $3. With the second form, we losts spaces in positional parameters. As example, the following call pkg-config --cflags "one two" three is wrapped as pkgconf --cflags one two three while we are expecting pkgconf --cflags "one two" three "$@" is really useful when writing wrappers. It passes the positional arguments *as* they are given. > > Thanks! > > Thomas > -- > Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) > Embedded Linux and Kernel engineering > http://bootlin.com Regards, Gael
Hello, On Wed, 21 Feb 2018 18:48:54 -0500, Gaël PORTAY wrote: > > Could you give more details about what this is fixing, i.e a specific > > scenario that is fixed by this patch ? > > In the case pkgconf, I can not see a real situation where this patch > fixes an issue. > > There is an important difference between $@ and "$@". The shell expands > "$@" as "$1" "$2" "$3"... while it expands $@ as $1 $2 $3. > > With the second form, we losts spaces in positional parameters. > > As example, the following call > > pkg-config --cflags "one two" three > > is wrapped as > > pkgconf --cflags one two three > > while we are expecting > > pkgconf --cflags "one two" three > > "$@" is really useful when writing wrappers. It passes the positional > arguments *as* they are given. OK, thanks for the explanation, makes sense. A better commit log would definitely help :) Thanks! Thomas
On Thu, Feb 22, 2018 at 04:49:49PM +0100, Thomas Petazzoni wrote: > ... > > OK, thanks for the explanation, makes sense. A better commit log would > definitely help :) > I am rewording the commit message to include that explanation. And I will resend the patch. > Thanks! > > Thomas > -- > Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) > Embedded Linux and Kernel engineering > http://bootlin.com Gael
diff --git a/package/pkgconf/pkg-config.in b/package/pkgconf/pkg-config.in index b9ce0935cc..9387931ff2 100644 --- a/package/pkgconf/pkg-config.in +++ b/package/pkgconf/pkg-config.in @@ -2,4 +2,4 @@ PKGCONFDIR=$(dirname $0) DEFAULT_PKG_CONFIG_LIBDIR=${PKGCONFDIR}/../@STAGING_SUBDIR@/usr/lib/pkgconfig:${PKGCONFDIR}/../@STAGING_SUBDIR@/usr/share/pkgconfig DEFAULT_PKG_CONFIG_SYSROOT_DIR=${PKGCONFDIR}/../@STAGING_SUBDIR@ -PKG_CONFIG_LIBDIR=${PKG_CONFIG_LIBDIR:-${DEFAULT_PKG_CONFIG_LIBDIR}} PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR:-${DEFAULT_PKG_CONFIG_SYSROOT_DIR}} ${PKGCONFDIR}/pkgconf @STATIC@ $@ +PKG_CONFIG_LIBDIR=${PKG_CONFIG_LIBDIR:-${DEFAULT_PKG_CONFIG_LIBDIR}} PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR:-${DEFAULT_PKG_CONFIG_SYSROOT_DIR}} ${PKGCONFDIR}/pkgconf @STATIC@ "$@"
Double quote $@ to prevent from splitting elements. Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> --- package/pkgconf/pkg-config.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)