Re: [libvirt PATCH 2/3] meson: drop explicit python interpreter

2023-04-11 Thread Michal Prívozník
On 4/11/23 09:27, Marc-André Lureau wrote:
> Hi
> 
> On Tue, Apr 11, 2023 at 11:10 AM Michal Prívozník  > wrote:
> 
> On 4/6/23 17:58, marcandre.lur...@redhat.com
>  wrote:
> > From: Marc-André Lureau  >
> >
> > meson wraps python scripts already on win32, so we end up with these
> > failing commands:
> >
> > [1/359] "C:/msys64/ucrt64/bin/meson" "--internal" "exe"
> "--capture" "src/util/virkeycodetable_atset1.h" "--" "sh"
> "C:/msys64/home/marca/src/libvirt/scripts/meson-python.sh"
> "C:/msys64/ucrt64/bin/python3.EXE" "python"
> "C:/msys64/home/marca/src/libvirt/src/keycodemapdb/tools/keymap-gen"
> "code-table" "--lang" "stdc" "--varname" "virKeyCodeTable_atset1"
> "C:/msys64/home/marca/src/libvirt/src/keycodemapdb/data/keymaps.csv"
> "atset1"
> > FAILED: src/util/virkeycodetable_atset1.h
> > "C:/msys64/ucrt64/bin/meson" "--internal" "exe" "--capture"
> "src/util/virkeycodetable_atset1.h" "--" "sh"
> "C:/msys64/home/marca/src/libvirt/scripts/meson-python.sh"
> "C:/msys64/ucrt64/bin/python3.EXE" "python"
> "C:/msys64/home/marca/src/libvirt/src/keycodemapdb/tools/keymap-gen"
> "code-table" "--lang" "stdc" "--varname" "virKeyCodeTable_atset1"
> "C:/msys64/home/marca/src/libvirt/src/keycodemapdb/data/keymaps.csv"
> "atset1"
> >
> > If LC_ALL, LANG and LC_CTYPE need to be set, it would probably be
> better
> > to use a meson environment() instead.
> >
> > Signed-off-by: Marc-André Lureau  >
> > ---
> >  docs/manpages/meson.build | 4 ++--
> >  docs/meson.build          | 6 ++
> >  src/admin/meson.build     | 4 ++--
> >  src/esx/meson.build       | 4 ++--
> >  src/hyperv/meson.build    | 2 +-
> >  src/meson.build           | 8 
> >  src/util/meson.build      | 4 ++--
> >  7 files changed, 15 insertions(+), 17 deletions(-)
> 
> After this, there are still some occurrences of meson_python_prog or
> python3_prog left; mostly in locations which are never built on Windows
> (e.g. src/qemu/, src/network/ and so on. But is it worth removing
> them too?
> 
> 
> If we don't have a good reason for this extra wrapping, yes. Is gitlab
> CI covering enough to validate the change? Someone more familiar with
> libvirt build environments should know better.

Yeah, good point. Let me run this as-is before pushing it:

https://gitlab.com/MichalPrivoznik/libvirt/-/pipelines/833467320

and actually, it breaks the build. Thing is, it looks for scripts in the
builddir rather than srcdir:

[4/1482] /usr/bin/meson --internal exe --capture 
src/util/virkeycodetable_atset1.h -- 
/builds/MichalPrivoznik/libvirt/rpmbuild/BUILD/libvirt-9.3.0/src/keycodemapdb/tools/keymap-gen
 code-table --lang stdc --varname virKeyCodeTable_atset1 
/builds/MichalPrivoznik/libvirt/rpmbuild/BUILD/libvirt-9.3.0/src/keycodemapdb/data/keymaps.csv
 atset1 

But what I don't understand is: why prefixing the script with
meson_python_prog and/or python3_prog causes the script to be looked for
in the srcdir.

Michal



Re: [libvirt PATCH 2/3] meson: drop explicit python interpreter

2023-04-11 Thread Marc-André Lureau
Hi

On Tue, Apr 11, 2023 at 11:10 AM Michal Prívozník 
wrote:

> On 4/6/23 17:58, marcandre.lur...@redhat.com wrote:
> > From: Marc-André Lureau 
> >
> > meson wraps python scripts already on win32, so we end up with these
> > failing commands:
> >
> > [1/359] "C:/msys64/ucrt64/bin/meson" "--internal" "exe" "--capture"
> "src/util/virkeycodetable_atset1.h" "--" "sh"
> "C:/msys64/home/marca/src/libvirt/scripts/meson-python.sh"
> "C:/msys64/ucrt64/bin/python3.EXE" "python"
> "C:/msys64/home/marca/src/libvirt/src/keycodemapdb/tools/keymap-gen"
> "code-table" "--lang" "stdc" "--varname" "virKeyCodeTable_atset1"
> "C:/msys64/home/marca/src/libvirt/src/keycodemapdb/data/keymaps.csv"
> "atset1"
> > FAILED: src/util/virkeycodetable_atset1.h
> > "C:/msys64/ucrt64/bin/meson" "--internal" "exe" "--capture"
> "src/util/virkeycodetable_atset1.h" "--" "sh"
> "C:/msys64/home/marca/src/libvirt/scripts/meson-python.sh"
> "C:/msys64/ucrt64/bin/python3.EXE" "python"
> "C:/msys64/home/marca/src/libvirt/src/keycodemapdb/tools/keymap-gen"
> "code-table" "--lang" "stdc" "--varname" "virKeyCodeTable_atset1"
> "C:/msys64/home/marca/src/libvirt/src/keycodemapdb/data/keymaps.csv"
> "atset1"
> >
> > If LC_ALL, LANG and LC_CTYPE need to be set, it would probably be better
> > to use a meson environment() instead.
> >
> > Signed-off-by: Marc-André Lureau 
> > ---
> >  docs/manpages/meson.build | 4 ++--
> >  docs/meson.build  | 6 ++
> >  src/admin/meson.build | 4 ++--
> >  src/esx/meson.build   | 4 ++--
> >  src/hyperv/meson.build| 2 +-
> >  src/meson.build   | 8 
> >  src/util/meson.build  | 4 ++--
> >  7 files changed, 15 insertions(+), 17 deletions(-)
>
> After this, there are still some occurrences of meson_python_prog or
> python3_prog left; mostly in locations which are never built on Windows
> (e.g. src/qemu/, src/network/ and so on. But is it worth removing them too?
>
>
If we don't have a good reason for this extra wrapping, yes. Is gitlab CI
covering enough to validate the change? Someone more familiar with libvirt
build environments should know better.

thanks


Re: [libvirt PATCH 2/3] meson: drop explicit python interpreter

2023-04-11 Thread Michal Prívozník
On 4/6/23 17:58, marcandre.lur...@redhat.com wrote:
> From: Marc-André Lureau 
> 
> meson wraps python scripts already on win32, so we end up with these
> failing commands:
> 
> [1/359] "C:/msys64/ucrt64/bin/meson" "--internal" "exe" "--capture" 
> "src/util/virkeycodetable_atset1.h" "--" "sh" 
> "C:/msys64/home/marca/src/libvirt/scripts/meson-python.sh" 
> "C:/msys64/ucrt64/bin/python3.EXE" "python" 
> "C:/msys64/home/marca/src/libvirt/src/keycodemapdb/tools/keymap-gen" 
> "code-table" "--lang" "stdc" "--varname" "virKeyCodeTable_atset1" 
> "C:/msys64/home/marca/src/libvirt/src/keycodemapdb/data/keymaps.csv" "atset1"
> FAILED: src/util/virkeycodetable_atset1.h
> "C:/msys64/ucrt64/bin/meson" "--internal" "exe" "--capture" 
> "src/util/virkeycodetable_atset1.h" "--" "sh" 
> "C:/msys64/home/marca/src/libvirt/scripts/meson-python.sh" 
> "C:/msys64/ucrt64/bin/python3.EXE" "python" 
> "C:/msys64/home/marca/src/libvirt/src/keycodemapdb/tools/keymap-gen" 
> "code-table" "--lang" "stdc" "--varname" "virKeyCodeTable_atset1" 
> "C:/msys64/home/marca/src/libvirt/src/keycodemapdb/data/keymaps.csv" "atset1"
> 
> If LC_ALL, LANG and LC_CTYPE need to be set, it would probably be better
> to use a meson environment() instead.
> 
> Signed-off-by: Marc-André Lureau 
> ---
>  docs/manpages/meson.build | 4 ++--
>  docs/meson.build  | 6 ++
>  src/admin/meson.build | 4 ++--
>  src/esx/meson.build   | 4 ++--
>  src/hyperv/meson.build| 2 +-
>  src/meson.build   | 8 
>  src/util/meson.build  | 4 ++--
>  7 files changed, 15 insertions(+), 17 deletions(-)

After this, there are still some occurrences of meson_python_prog or
python3_prog left; mostly in locations which are never built on Windows
(e.g. src/qemu/, src/network/ and so on. But is it worth removing them too?

Michal



[libvirt PATCH 2/3] meson: drop explicit python interpreter

2023-04-06 Thread marcandre . lureau
From: Marc-André Lureau 

meson wraps python scripts already on win32, so we end up with these
failing commands:

[1/359] "C:/msys64/ucrt64/bin/meson" "--internal" "exe" "--capture" 
"src/util/virkeycodetable_atset1.h" "--" "sh" 
"C:/msys64/home/marca/src/libvirt/scripts/meson-python.sh" 
"C:/msys64/ucrt64/bin/python3.EXE" "python" 
"C:/msys64/home/marca/src/libvirt/src/keycodemapdb/tools/keymap-gen" 
"code-table" "--lang" "stdc" "--varname" "virKeyCodeTable_atset1" 
"C:/msys64/home/marca/src/libvirt/src/keycodemapdb/data/keymaps.csv" "atset1"
FAILED: src/util/virkeycodetable_atset1.h
"C:/msys64/ucrt64/bin/meson" "--internal" "exe" "--capture" 
"src/util/virkeycodetable_atset1.h" "--" "sh" 
"C:/msys64/home/marca/src/libvirt/scripts/meson-python.sh" 
"C:/msys64/ucrt64/bin/python3.EXE" "python" 
"C:/msys64/home/marca/src/libvirt/src/keycodemapdb/tools/keymap-gen" 
"code-table" "--lang" "stdc" "--varname" "virKeyCodeTable_atset1" 
"C:/msys64/home/marca/src/libvirt/src/keycodemapdb/data/keymaps.csv" "atset1"

If LC_ALL, LANG and LC_CTYPE need to be set, it would probably be better
to use a meson environment() instead.

Signed-off-by: Marc-André Lureau 
---
 docs/manpages/meson.build | 4 ++--
 docs/meson.build  | 6 ++
 src/admin/meson.build | 4 ++--
 src/esx/meson.build   | 4 ++--
 src/hyperv/meson.build| 2 +-
 src/meson.build   | 8 
 src/util/meson.build  | 4 ++--
 7 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/docs/manpages/meson.build b/docs/manpages/meson.build
index 84b2e247e9..afcadaefbd 100644
--- a/docs/manpages/meson.build
+++ b/docs/manpages/meson.build
@@ -49,7 +49,7 @@ foreach name : keycode_list
 input: keymap_src_file,
 output: 'virkeycode-@0@.rst'.format(name),
 command: [
-  meson_python_prog, python3_prog, keymap_gen_prog, 'code-docs',
+  keymap_gen_prog, 'code-docs',
   '--lang', 'rst',
   '--title', 'virkeycode-@0@'.format(name),
   '--subtitle', 'Key code values for @0@'.format(name),
@@ -70,7 +70,7 @@ foreach name : keyname_list
 input: keymap_src_file,
 output: 'virkeyname-@0@.rst'.format(name),
 command: [
-  meson_python_prog, python3_prog, keymap_gen_prog, 'name-docs',
+  keymap_gen_prog, 'name-docs',
   '--lang', 'rst',
   '--title', 'virkeyname-@0@'.format(name),
   '--subtitle', 'Key name values for @0@'.format(name),
diff --git a/docs/meson.build b/docs/meson.build
index 8f84d08912..769efe7b6a 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -123,7 +123,7 @@ aclperms_gen = custom_target(
   input: access_perm_h,
   output: 'aclperms.htmlinc',
   command: [
-meson_python_prog, python3_prog, genaclperms_prog, '@INPUT@',
+genaclperms_prog, '@INPUT@',
   ],
   capture: true,
 )
@@ -145,7 +145,7 @@ docs_api_generated = custom_target(
 'libvirt-admin-api.xml',
   ],
   command: [
-meson_python_prog, python3_prog, apibuild_prog,
+apibuild_prog,
 meson.current_source_dir(),
 meson.current_build_dir(),
   ],
@@ -264,8 +264,6 @@ hvsupport_html_in = custom_target(
   'hvsupport.html.in',
   output: 'hvsupport.html.in',
   command: [
-meson_python_prog,
-python3_prog,
 hvsupport_prog,
 meson.project_source_root(),
 meson.project_build_root(),
diff --git a/src/admin/meson.build b/src/admin/meson.build
index 692cc128a3..e04d610f92 100644
--- a/src/admin/meson.build
+++ b/src/admin/meson.build
@@ -68,7 +68,7 @@ libvirt_admin_syms = custom_target(
   ],
   output: 'libvirt_admin.syms',
   command: [
-meson_python_prog, python3_prog, meson_gen_sym_prog,
+meson_gen_sym_prog,
 '@OUTPUT@', 'LIBVIRT_ADMIN_PRIVATE_' + meson.project_version(), '@INPUT@',
   ],
 )
@@ -79,7 +79,7 @@ if host_machine.system() == 'windows'
 input: libvirt_admin_syms,
 output: 'libvirt_admin.def',
 command: [
-  meson_python_prog, python3_prog, meson_gen_def_prog,
+  meson_gen_def_prog,
   '@INPUT@', '@OUTPUT@',
 ],
   )
diff --git a/src/esx/meson.build b/src/esx/meson.build
index d1f42fdcc4..4bd0dadd51 100644
--- a/src/esx/meson.build
+++ b/src/esx/meson.build
@@ -25,7 +25,7 @@ esx_gen_headers = custom_target(
 'esx_vi_types.generated.typeenum',
   ],
   command: [
-meson_python_prog, python3_prog, esx_vi_generator_prog,
+esx_vi_generator_prog,
 meson.project_source_root() / 'src',
 meson.project_build_root() / 'src',
 'header',
@@ -46,7 +46,7 @@ esx_gen_sources = custom_target(
 'esx_vi_types.generated.typetostring',
   ],
   command: [
-meson_python_prog, python3_prog, esx_vi_generator_prog,
+esx_vi_generator_prog,
 meson.project_source_root() / 'src',
 meson.project_build_root() / 'src',
 'source',
diff --git a/src/hyperv/meson.build b/src/hyperv/meson.build
index 3509ce12f7..446b6ddada 100644
--- a/src/hyperv/meson.build
+++ b/src/hyperv/meson.build
@@ -17,7 +17,7 @@ hyperv_gen_sources = custom_target(
 'hyperv_wmi_classes.generated.typedef',
   ],