On Wed, Jun 11, 2025 at 3:25 PM BALATON Zoltan <bala...@eik.bme.hu> wrote: > > On Wed, 11 Jun 2025, Stefan Hajnoczi wrote: > > From: oltolm <oleg.tolmat...@gmail.com> > > > > Sorry, I forgot to cc the maintainers. > > Do we want comments like this end up in git log? This could have been > fixed before a pull. Also the other pull request about uninitialised stack > variables had hw/audio/gus twice which was pointed out by a comment before > the pull that one of those should be different but the pull request still > had this error. Did you miss these or aren't these important enough to fix > before getting in git log forever or there is just no easy way to fix up > commit messages in pull requests?
If another reviewer asks for the author to resend then I'll hold off on merging, but I didn't see the comment about hw/audio/gus. Sorry! I did see this "Sorry, I forgot to cc the maintainers" comment. Although I'm not consistent, nowadays I generally do not fix these issues when merging, provided it's a small issue that can be ignored or understood from the context. I don't really mind either way, so if there is a consensus that all maintainers should be strict about this, I'm happy to join. One related point I do have a strong opinion on is that the qemu.git/master maintainer shouldn't be expected to do fixups on a pull request they receive. Fixups should be done by subsystem maintainers (and the pull request must be resent) or the original patch authors. It doesn't scale when the qemu.git/master maintainer has to make changes to code that they are unfamiliar with. That's not the case here, but I just wanted to mention it because from time to time someone requests this. > > Regards, > BALATON Zoltan > > > The build failed when run on Windows. I replaced calls to Unix programs > > like ´cat´, ´sed´ and ´true´ with calls to ´python´. I wrapped calls to > > ´os.path.relpath´ in try-except because it can fail when the two paths > > are on different drives. I made sure to convert the Windows paths to > > Unix paths to prevent warnings in generated files. > > > > Signed-off-by: oltolm <oleg.tolmat...@gmail.com> > > Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> > > Acked-by: Alex Bennée <alex.ben...@linaro.org> > > Message-id: 20250607094503.1307-2-oleg.tolmat...@gmail.com > > Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> > > --- > > contrib/plugins/meson.build | 2 +- > > plugins/meson.build | 2 +- > > scripts/tracetool/__init__.py | 15 ++++++++++++--- > > scripts/tracetool/backend/ftrace.py | 4 +--- > > scripts/tracetool/backend/log.py | 4 +--- > > scripts/tracetool/backend/syslog.py | 4 +--- > > tests/functional/meson.build | 4 +--- > > tests/include/meson.build | 2 +- > > tests/tcg/plugins/meson.build | 2 +- > > trace/meson.build | 5 +++-- > > 10 files changed, 23 insertions(+), 21 deletions(-) > > > > diff --git a/contrib/plugins/meson.build b/contrib/plugins/meson.build > > index fa8a426c8b..1876bc7843 100644 > > --- a/contrib/plugins/meson.build > > +++ b/contrib/plugins/meson.build > > @@ -24,7 +24,7 @@ endif > > if t.length() > 0 > > alias_target('contrib-plugins', t) > > else > > - run_target('contrib-plugins', command: find_program('true')) > > + run_target('contrib-plugins', command: [python, '-c', '']) > > endif > > > > plugin_modules += t > > diff --git a/plugins/meson.build b/plugins/meson.build > > index b20edfbabc..62c991d87f 100644 > > --- a/plugins/meson.build > > +++ b/plugins/meson.build > > @@ -33,7 +33,7 @@ if host_os == 'windows' > > input: qemu_plugin_symbols, > > output: 'qemu_plugin_api.def', > > capture: true, > > - command: ['sed', '-e', '0,/^/s//EXPORTS/; s/[{};]//g', '@INPUT@']) > > + command: [python, '-c', 'import fileinput, re; print("EXPORTS", > > end=""); [print(re.sub(r"[{};]", "", line), end="") for line in > > fileinput.input()]', '@INPUT@']) > > > > # then use dlltool to assemble a delaylib. > > # The delaylib will have an "imaginary" name (qemu.exe), that is used by > > the > > diff --git a/scripts/tracetool/__init__.py b/scripts/tracetool/__init__.py > > index bc03238c0f..6dfcbf71e1 100644 > > --- a/scripts/tracetool/__init__.py > > +++ b/scripts/tracetool/__init__.py > > @@ -12,12 +12,14 @@ > > __email__ = "stefa...@redhat.com" > > > > > > +import os > > import re > > import sys > > import weakref > > +from pathlib import PurePath > > > > -import tracetool.format > > import tracetool.backend > > +import tracetool.format > > > > > > def error_write(*lines): > > @@ -36,7 +38,7 @@ def error(*lines): > > > > def out_open(filename): > > global out_filename, out_fobj > > - out_filename = filename > > + out_filename = posix_relpath(filename) > > out_fobj = open(filename, 'wt') > > > > def out(*lines, **kwargs): > > @@ -308,7 +310,7 @@ def build(line_str, lineno, filename): > > fmt = [fmt_trans, fmt] > > args = Arguments.build(groups["args"]) > > > > - return Event(name, props, fmt, args, lineno, filename) > > + return Event(name, props, fmt, args, lineno, > > posix_relpath(filename)) > > > > def __repr__(self): > > """Evaluable string representation for this object.""" > > @@ -447,3 +449,10 @@ def generate(events, group, format, backends, > > tracetool.backend.dtrace.PROBEPREFIX = probe_prefix > > > > tracetool.format.generate(events, format, backend, group) > > + > > +def posix_relpath(path, start=None): > > + try: > > + path = os.path.relpath(path, start) > > + except ValueError: > > + pass > > + return PurePath(path).as_posix() > > diff --git a/scripts/tracetool/backend/ftrace.py > > b/scripts/tracetool/backend/ftrace.py > > index baed2ae61c..5fa30ccc08 100644 > > --- a/scripts/tracetool/backend/ftrace.py > > +++ b/scripts/tracetool/backend/ftrace.py > > @@ -12,8 +12,6 @@ > > __email__ = "stefa...@redhat.com" > > > > > > -import os.path > > - > > from tracetool import out > > > > > > @@ -47,7 +45,7 @@ def generate_h(event, group): > > args=event.args, > > event_id="TRACE_" + event.name.upper(), > > event_lineno=event.lineno, > > - event_filename=os.path.relpath(event.filename), > > + event_filename=event.filename, > > fmt=event.fmt.rstrip("\n"), > > argnames=argnames) > > > > diff --git a/scripts/tracetool/backend/log.py > > b/scripts/tracetool/backend/log.py > > index de27b7e62e..17ba1cd90e 100644 > > --- a/scripts/tracetool/backend/log.py > > +++ b/scripts/tracetool/backend/log.py > > @@ -12,8 +12,6 @@ > > __email__ = "stefa...@redhat.com" > > > > > > -import os.path > > - > > from tracetool import out > > > > > > @@ -55,7 +53,7 @@ def generate_h(event, group): > > ' }', > > cond=cond, > > event_lineno=event.lineno, > > - event_filename=os.path.relpath(event.filename), > > + event_filename=event.filename, > > name=event.name, > > fmt=event.fmt.rstrip("\n"), > > argnames=argnames) > > diff --git a/scripts/tracetool/backend/syslog.py > > b/scripts/tracetool/backend/syslog.py > > index 012970f6cc..5a3a00fe31 100644 > > --- a/scripts/tracetool/backend/syslog.py > > +++ b/scripts/tracetool/backend/syslog.py > > @@ -12,8 +12,6 @@ > > __email__ = "stefa...@redhat.com" > > > > > > -import os.path > > - > > from tracetool import out > > > > > > @@ -43,7 +41,7 @@ def generate_h(event, group): > > ' }', > > cond=cond, > > event_lineno=event.lineno, > > - event_filename=os.path.relpath(event.filename), > > + event_filename=event.filename, > > name=event.name, > > fmt=event.fmt.rstrip("\n"), > > argnames=argnames) > > diff --git a/tests/functional/meson.build b/tests/functional/meson.build > > index 557d59ddf4..4bce961c04 100644 > > --- a/tests/functional/meson.build > > +++ b/tests/functional/meson.build > > @@ -412,6 +412,4 @@ foreach speed : ['quick', 'thorough'] > > endforeach > > endforeach > > > > -run_target('precache-functional', > > - depends: precache_all, > > - command: ['true']) > > +alias_target('precache-functional', precache_all) > > diff --git a/tests/include/meson.build b/tests/include/meson.build > > index 9abba308fa..8e8d1ec4e6 100644 > > --- a/tests/include/meson.build > > +++ b/tests/include/meson.build > > @@ -13,4 +13,4 @@ test_qapi_outputs_extra = [ > > test_qapi_files_extra = custom_target('QAPI test (include)', > > output: test_qapi_outputs_extra, > > input: test_qapi_files, > > - command: 'true') > > + command: [python, '-c', '']) > > diff --git a/tests/tcg/plugins/meson.build b/tests/tcg/plugins/meson.build > > index 41f02f2c7f..029342282a 100644 > > --- a/tests/tcg/plugins/meson.build > > +++ b/tests/tcg/plugins/meson.build > > @@ -17,7 +17,7 @@ endif > > if t.length() > 0 > > alias_target('test-plugins', t) > > else > > - run_target('test-plugins', command: find_program('true')) > > + run_target('test-plugins', command: [python, '-c', '']) > > endif > > > > plugin_modules += t > > diff --git a/trace/meson.build b/trace/meson.build > > index 3df4549355..9c42a57a05 100644 > > --- a/trace/meson.build > > +++ b/trace/meson.build > > @@ -4,7 +4,7 @@ trace_events_files = [] > > foreach item : [ '.' ] + trace_events_subdirs + qapi_trace_events > > if item in qapi_trace_events > > trace_events_file = item > > - group_name = item.full_path().split('/')[-1].underscorify() > > + group_name = fs.name(item).underscorify() > > else > > trace_events_file = meson.project_source_root() / item / 'trace-events' > > group_name = item == '.' ? 'root' : item.underscorify() > > @@ -57,10 +57,11 @@ foreach item : [ '.' ] + trace_events_subdirs + > > qapi_trace_events > > endif > > endforeach > > > > +cat = [ python, '-c', 'import fileinput; [print(line, end="") for line in > > fileinput.input()]', '@INPUT@' ] > > trace_events_all = custom_target('trace-events-all', > > output: 'trace-events-all', > > input: trace_events_files, > > - command: [ 'cat', '@INPUT@' ], > > + command: cat, > > capture: true, > > install: get_option('trace_backends') != [ > > 'nop' ], > > install_dir: qemu_datadir) > > -- > > 2.49.0 > > > > > >