From: Akihiko Odaki <akihiko.odaki@daynix.com>
To: Michael Tokarev <mjt@tls.msk.ru>
Cc: qemu-devel@nongnu.org,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Thomas Huth" <thuth@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Cleber Rosa" <crosa@redhat.com>, "John Snow" <jsnow@redhat.com>
Subject: Re: [PATCH] meson: Fix MESONINTROSPECT parsing
Date: Sat, 12 Aug 2023 18:16:34 +0900 [thread overview]
Message-ID: <c9f3232c-5103-410c-a158-e56d26331968@daynix.com> (raw)
In-Reply-To: <8bb503c3-5b45-f686-a0d8-24799d69f6b1@tls.msk.ru>
On 2023/08/12 17:01, Michael Tokarev wrote:
> 12.08.2023 09:15, Akihiko Odaki wrote:
>> The arguments in MESONINTROSPECT are quoted with shlex.quote() so it
>> must be parsed with shlex.split().
>>
>> Fixes: cf60ccc330 ("cutils: Introduce bundle mechanism")
>> Reported-by: Michael Tokarev <mjt@tls.msk.ru>
>> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
>> ---
>> scripts/symlink-install-tree.py | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/scripts/symlink-install-tree.py
>> b/scripts/symlink-install-tree.py
>> index 8ed97e3c94..b72563895c 100644
>> --- a/scripts/symlink-install-tree.py
>> +++ b/scripts/symlink-install-tree.py
>> @@ -4,6 +4,7 @@
>> import errno
>> import json
>> import os
>> +import shlex
>> import subprocess
>> import sys
>> @@ -14,7 +15,7 @@ def destdir_join(d1: str, d2: str) -> str:
>> return str(PurePath(d1, *PurePath(d2).parts[1:]))
>> introspect = os.environ.get('MESONINTROSPECT')
>> -out = subprocess.run([*introspect.split(' '), '--installed'],
>> +out = subprocess.run([*shlex.split(introspect), '--installed'],
>> stdout=subprocess.PIPE, check=True).stdout
>> for source, dest in json.loads(out).items():
>> bundle_dest = destdir_join('qemu-bundle', dest)
>
> This fixes one of the two issues, - the script is being run
> now without failures.
>
> Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
> Tested-by: Michael Tokarev <mjt@tls.msk.ru>
>
> There's one more possible problem which is worth to fix, I'd say:
> it is the fact that script failure is not detected in any way.
> Shouldn't subprocess.run raise an exception in case of failure?
> I think it needs check=True (since python 3.5 iirc).
I missed that you noted this failure is not detected by configure. It is
certainly better to fix.
It does have check=True but it's rather a obfuscated way to say that
when you can just use subprocess.check_output(). I sent another patch to
use subprocess.check_output().
The reason why configure does not detect the failure is that Meson
ignores postconf script failures. I opened a pull request upstream:
https://github.com/mesonbuild/meson/pull/12115
Regards,
Akihiko Odaki
next prev parent reply other threads:[~2023-08-12 9:17 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-12 6:15 [PATCH] meson: Fix MESONINTROSPECT parsing Akihiko Odaki
2023-08-12 8:01 ` Michael Tokarev
2023-08-12 9:16 ` Akihiko Odaki [this message]
2023-08-12 11:13 ` Paolo Bonzini
2023-08-12 8:45 ` Philippe Mathieu-Daudé
2023-08-12 12:09 ` Akihiko Odaki
2023-08-12 13:31 ` Michael Tokarev
2024-03-25 17:23 ` Peter Maydell
2024-03-25 17:34 ` Michael Tokarev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c9f3232c-5103-410c-a158-e56d26331968@daynix.com \
--to=akihiko.odaki@daynix.com \
--cc=berrange@redhat.com \
--cc=crosa@redhat.com \
--cc=jsnow@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=mjt@tls.msk.ru \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).