[PATCH] configure: quote -D options that are passed to meson

Paolo Bonzini posted 1 patch 6 months, 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240507104926.179301-1-pbonzini@redhat.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, Thomas Huth <thuth@redhat.com>
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] configure: quote -D options that are passed to meson
Posted by Paolo Bonzini 6 months, 3 weeks ago
Ensure that they go through unmodified, instead of removing one layer
of quoting.

Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index bd85377a6ae..10fbe10ad9c 100755
--- a/configure
+++ b/configure
@@ -764,7 +764,7 @@ for opt do
   --*) meson_option_parse "$opt" "$optarg"
   ;;
   # Pass through -Dxxxx options to meson
-  -D*) meson_options="$meson_options $opt"
+  -D*) meson_option_add "$opt"
   ;;
   esac
 done
-- 
2.45.0
Re: [PATCH] configure: quote -D options that are passed to meson
Posted by Peter Maydell 6 months, 3 weeks ago
On Tue, 7 May 2024 at 11:50, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> Ensure that they go through unmodified, instead of removing one layer
> of quoting.

Do you have an example of what goes wrong that we could
mention in the commit message ?

thanks
-- PMM
Re: [PATCH] configure: quote -D options that are passed to meson
Posted by Paolo Bonzini 6 months, 3 weeks ago
On Tue, May 7, 2024 at 1:58 PM Peter Maydell <peter.maydell@linaro.org> wrote:
>
> On Tue, 7 May 2024 at 11:50, Paolo Bonzini <pbonzini@redhat.com> wrote:
> >
> > Ensure that they go through unmodified, instead of removing one layer
> > of quoting.
>
> Do you have an example of what goes wrong that we could
> mention in the commit message ?

I only found it by inspection. The only case I can think of is
"-Dpkg_config_path=/home/pbonzini/a path with spaces/".

I can add the following text:

---
-D is a pretty specialized option and most options that can have spaces
do not need it (for example, c_args is covered by --extra-cflags).
Therefore it's unlikely that this causes actual trouble.  However,
a somewhat realistic failure case would be with -Dpkg_config_path
and a pkg-config directory that contains spaces.
---

Paolo
Re: [PATCH] configure: quote -D options that are passed to meson
Posted by Thomas Huth 6 months, 3 weeks ago
On 07/05/2024 12.49, Paolo Bonzini wrote:
> Ensure that they go through unmodified, instead of removing one layer
> of quoting.
> 
> Cc: qemu-stable@nongnu.org
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>   configure | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/configure b/configure
> index bd85377a6ae..10fbe10ad9c 100755
> --- a/configure
> +++ b/configure
> @@ -764,7 +764,7 @@ for opt do
>     --*) meson_option_parse "$opt" "$optarg"
>     ;;
>     # Pass through -Dxxxx options to meson
> -  -D*) meson_options="$meson_options $opt"
> +  -D*) meson_option_add "$opt"
>     ;;
>     esac
>   done

Reviewed-by: Thomas Huth <thuth@redhat.com>