On 2023/08/12 15: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 <m...@tls.msk.ru>
Signed-off-by: Akihiko Odaki <akihiko.od...@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)
Please do NOT merge this. This will break Windows builds. I'm putting
this patch on hold.
The problem is that Meson uses a different logic for escaping arguments
in MESONINTROSPECT on Windows. I'll wait till Meson maintainers figure
out how MESONINTROSPECT should be used. For details, see:
https://github.com/mesonbuild/meson/pull/12115#issuecomment-1675863266
Regards,
Akihiko Odaki