Re: [gentoo-dev] [PATCH 1/2] waf-utils.eclass: Simplify output of configure command and arguments
On 10 January 2019 03:33:56 GMT, "Michał Górny" wrote: >On Wed, 2019-01-09 at 22:08 +, James Le Cuirot wrote: >> We can just assign these to an array and echo before executing. Using >> @Q makes Bash quote the output. This only works in Bash 4.4 and later >> but on earlier versions, it simply doesn't quote. >> >> Signed-off-by: James Le Cuirot >> --- >> eclass/waf-utils.eclass | 20 +--- >> 1 file changed, 13 insertions(+), 7 deletions(-) >> >> diff --git a/eclass/waf-utils.eclass b/eclass/waf-utils.eclass >> index 878068fc9f4f..8387829648a3 100644 >> --- a/eclass/waf-utils.eclass >> +++ b/eclass/waf-utils.eclass >> @@ -1,4 +1,4 @@ >> -# Copyright 1999-2015 Gentoo Foundation >> +# Copyright 1999-2019 Gentoo Authors >> # Distributed under the terms of the GNU General Public License v2 >> >> # @ECLASS: waf-utils.eclass >> @@ -84,13 +84,19 @@ waf-utils_src_configure() { >> [[ -z ${NO_WAF_LIBDIR} ]] && >libdir=(--libdir="${EPREFIX}/usr/$(get_libdir)") >> >> tc-export AR CC CPP CXX RANLIB >> -echo "CCFLAGS=\"${CFLAGS}\" LINKFLAGS=\"${CFLAGS} ${LDFLAGS}\" >\"${WAF_BINARY}\" --prefix=${EPREFIX}/usr ${libdir[@]} $@ configure" >> >> -CCFLAGS="${CFLAGS}" LINKFLAGS="${CFLAGS} ${LDFLAGS}" >"${WAF_BINARY}" \ >> -"--prefix=${EPREFIX}/usr" \ >> -"${libdir[@]}" \ >> -"${@}" \ >> -configure || die "configure failed" >> +local CMD=( >> +CCFLAGS="${CFLAGS}" >> +LINKFLAGS="${CFLAGS} ${LDFLAGS}" >> +"${WAF_BINARY}" >> +"--prefix=${EPREFIX}/usr" >> +"${libdir[@]}" >> +"${@}" >> +configure >> +) >> + >> +echo "${CMD[@]@Q}" > >>&2 > >> +env "${CMD[@]}" || die "configure failed" >> } >> >> # @FUNCTION: waf-utils_src_compile Obviously that wasn't there before but good call. -- Sent from my Android device with K-9 Mail. Please excuse my brevity.
Re: [gentoo-dev] [PATCH 1/2] waf-utils.eclass: Simplify output of configure command and arguments
On Wed, 2019-01-09 at 22:08 +, James Le Cuirot wrote: > We can just assign these to an array and echo before executing. Using > @Q makes Bash quote the output. This only works in Bash 4.4 and later > but on earlier versions, it simply doesn't quote. > > Signed-off-by: James Le Cuirot > --- > eclass/waf-utils.eclass | 20 +--- > 1 file changed, 13 insertions(+), 7 deletions(-) > > diff --git a/eclass/waf-utils.eclass b/eclass/waf-utils.eclass > index 878068fc9f4f..8387829648a3 100644 > --- a/eclass/waf-utils.eclass > +++ b/eclass/waf-utils.eclass > @@ -1,4 +1,4 @@ > -# Copyright 1999-2015 Gentoo Foundation > +# Copyright 1999-2019 Gentoo Authors > # Distributed under the terms of the GNU General Public License v2 > > # @ECLASS: waf-utils.eclass > @@ -84,13 +84,19 @@ waf-utils_src_configure() { > [[ -z ${NO_WAF_LIBDIR} ]] && > libdir=(--libdir="${EPREFIX}/usr/$(get_libdir)") > > tc-export AR CC CPP CXX RANLIB > - echo "CCFLAGS=\"${CFLAGS}\" LINKFLAGS=\"${CFLAGS} ${LDFLAGS}\" > \"${WAF_BINARY}\" --prefix=${EPREFIX}/usr ${libdir[@]} $@ configure" > > - CCFLAGS="${CFLAGS}" LINKFLAGS="${CFLAGS} ${LDFLAGS}" "${WAF_BINARY}" \ > - "--prefix=${EPREFIX}/usr" \ > - "${libdir[@]}" \ > - "${@}" \ > - configure || die "configure failed" > + local CMD=( > + CCFLAGS="${CFLAGS}" > + LINKFLAGS="${CFLAGS} ${LDFLAGS}" > + "${WAF_BINARY}" > + "--prefix=${EPREFIX}/usr" > + "${libdir[@]}" > + "${@}" > + configure > + ) > + > + echo "${CMD[@]@Q}" >&2 > + env "${CMD[@]}" || die "configure failed" > } > > # @FUNCTION: waf-utils_src_compile -- Best regards, Michał Górny signature.asc Description: This is a digitally signed message part
[gentoo-dev] [PATCH 1/2] waf-utils.eclass: Simplify output of configure command and arguments
We can just assign these to an array and echo before executing. Using @Q makes Bash quote the output. This only works in Bash 4.4 and later but on earlier versions, it simply doesn't quote. Signed-off-by: James Le Cuirot --- eclass/waf-utils.eclass | 20 +--- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/eclass/waf-utils.eclass b/eclass/waf-utils.eclass index 878068fc9f4f..8387829648a3 100644 --- a/eclass/waf-utils.eclass +++ b/eclass/waf-utils.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: waf-utils.eclass @@ -84,13 +84,19 @@ waf-utils_src_configure() { [[ -z ${NO_WAF_LIBDIR} ]] && libdir=(--libdir="${EPREFIX}/usr/$(get_libdir)") tc-export AR CC CPP CXX RANLIB - echo "CCFLAGS=\"${CFLAGS}\" LINKFLAGS=\"${CFLAGS} ${LDFLAGS}\" \"${WAF_BINARY}\" --prefix=${EPREFIX}/usr ${libdir[@]} $@ configure" - CCFLAGS="${CFLAGS}" LINKFLAGS="${CFLAGS} ${LDFLAGS}" "${WAF_BINARY}" \ - "--prefix=${EPREFIX}/usr" \ - "${libdir[@]}" \ - "${@}" \ - configure || die "configure failed" + local CMD=( + CCFLAGS="${CFLAGS}" + LINKFLAGS="${CFLAGS} ${LDFLAGS}" + "${WAF_BINARY}" + "--prefix=${EPREFIX}/usr" + "${libdir[@]}" + "${@}" + configure + ) + + echo "${CMD[@]@Q}" + env "${CMD[@]}" || die "configure failed" } # @FUNCTION: waf-utils_src_compile -- 2.19.2