* [PULL 0/3] Update meson version @ 2021-09-18 9:31 Paolo Bonzini 2021-09-18 9:31 ` [PULL 1/3] meson: bump submodule to 0.58.2 Paolo Bonzini ` (3 more replies) 0 siblings, 4 replies; 11+ messages in thread From: Paolo Bonzini @ 2021-09-18 9:31 UTC (permalink / raw) To: qemu-devel The following changes since commit 831aaf24967a49d7750090b9dcfd6bf356f16529: Merge remote-tracking branch 'remotes/marcandre/tags/misc-pull-request' into staging (2021-09-14 18:14:56 +0100) are available in the Git repository at: https://gitlab.com/bonzini/qemu.git tags/for-upstream for you to fetch changes up to ccc3f971c37bd2202a21abc9f0be093f10426364: hexagon: use env keyword argument to pass PYTHONPATH (2021-09-15 09:12:55 +0200) ---------------------------------------------------------------- * Update Meson to 0.58.2 ---------------------------------------------------------------- Paolo Bonzini (3): meson: bump submodule to 0.58.2 meson: switch minimum meson version to 0.58.2 hexagon: use env keyword argument to pass PYTHONPATH configure | 8 ++----- docs/meson.build | 14 +++++------ meson | 2 +- meson.build | 54 ++++++++++++++++++++----------------------- plugins/meson.build | 4 ++-- scripts/mtest2make.py | 7 ++---- target/hexagon/meson.build | 3 ++- tests/qapi-schema/meson.build | 4 ++-- tests/qtest/meson.build | 2 +- tests/unit/meson.build | 2 +- trace/meson.build | 4 ++-- 11 files changed, 47 insertions(+), 57 deletions(-) -- 2.31.1 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PULL 1/3] meson: bump submodule to 0.58.2 2021-09-18 9:31 [PULL 0/3] Update meson version Paolo Bonzini @ 2021-09-18 9:31 ` Paolo Bonzini 2021-09-18 9:31 ` [PULL 2/3] meson: switch minimum meson version " Paolo Bonzini ` (2 subsequent siblings) 3 siblings, 0 replies; 11+ messages in thread From: Paolo Bonzini @ 2021-09-18 9:31 UTC (permalink / raw) To: qemu-devel The update to 0.57 has been delayed due to it causing warnings for some actual issues, but it brings in important bugfixes and new features. 0.58 also brings in a bugfix that is useful for modinfo. Important bugfixes: - 0.57: https://github.com/mesonbuild/meson/pull/7760, build: use PIE objects for non-PIC static libraries if b_pie=true - 0.57: https://github.com/mesonbuild/meson/pull/7900, thus avoiding unnecessary rebuilds after running meson. - 0.58.2: https://github.com/mesonbuild/meson/pull/8900, fixes for passing extract_objects() to custom_target (useful for modinfo) Features: - 0.57: the keyval module has now been stabilized - 0.57: env argument to custom_target (useful for hexagon) - 0.57: Feature parity between "meson test" and QEMU's TAP driver - 0.57: https://github.com/mesonbuild/meson/pull/8231, allows bringing back version numbers in the configuration summary Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- meson | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson b/meson index 776acd2a80..8bcd4c72e3 160000 --- a/meson +++ b/meson @@ -1 +1 @@ -Subproject commit 776acd2a805c9b42b4f0375150977df42130317f +Subproject commit 8bcd4c72e321705cb6cde02c684ffd2ec5cc8843 -- 2.31.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PULL 2/3] meson: switch minimum meson version to 0.58.2 2021-09-18 9:31 [PULL 0/3] Update meson version Paolo Bonzini 2021-09-18 9:31 ` [PULL 1/3] meson: bump submodule to 0.58.2 Paolo Bonzini @ 2021-09-18 9:31 ` Paolo Bonzini 2021-09-18 9:31 ` [PULL 3/3] hexagon: use env keyword argument to pass PYTHONPATH Paolo Bonzini 2021-09-21 12:40 ` [PULL 0/3] Update meson version Peter Maydell 3 siblings, 0 replies; 11+ messages in thread From: Paolo Bonzini @ 2021-09-18 9:31 UTC (permalink / raw) To: qemu-devel; +Cc: Marc-André Lureau Meson 0.58.2 does not need b_staticpic=$pie anymore, and has stabilized the keyval module. Remove the workaround and use a few replacements for features deprecated in the 0.57.0 release cycle. Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- configure | 8 ++---- docs/meson.build | 14 ++++----- meson.build | 54 ++++++++++++++++------------------- plugins/meson.build | 4 +-- scripts/mtest2make.py | 7 ++--- tests/qapi-schema/meson.build | 4 +-- tests/qtest/meson.build | 2 +- tests/unit/meson.build | 2 +- trace/meson.build | 4 +-- 9 files changed, 44 insertions(+), 55 deletions(-) diff --git a/configure b/configure index da2501489f..bfe1fddf4c 100755 --- a/configure +++ b/configure @@ -1995,7 +1995,7 @@ python_version=$($python -c 'import sys; print("%d.%d.%d" % (sys.version_info[0] python="$python -B" if test -z "$meson"; then - if test "$explicit_python" = no && has meson && version_ge "$(meson --version)" 0.55.3; then + if test "$explicit_python" = no && has meson && version_ge "$(meson --version)" 0.58.2; then meson=meson elif test $git_submodules_action != 'ignore' ; then meson=git @@ -5162,10 +5162,6 @@ if test "$skip_meson" = no; then mv $cross config-meson.cross rm -rf meson-private meson-info meson-logs - unset staticpic - if ! version_ge "$($meson --version)" 0.56.0; then - staticpic=$(if test "$pie" = yes; then echo true; else echo false; fi) - fi NINJA=$ninja $meson setup \ --prefix "$prefix" \ --libdir "$libdir" \ @@ -5185,7 +5181,6 @@ if test "$skip_meson" = no; then -Dwerror=$(if test "$werror" = yes; then echo true; else echo false; fi) \ -Dstrip=$(if test "$strip_opt" = yes; then echo true; else echo false; fi) \ -Db_pie=$(if test "$pie" = yes; then echo true; else echo false; fi) \ - ${staticpic:+-Db_staticpic=$staticpic} \ -Db_coverage=$(if test "$gcov" = yes; then echo true; else echo false; fi) \ -Db_lto=$lto -Dcfi=$cfi -Dcfi_debug=$cfi_debug \ -Dmalloc=$malloc -Dmalloc_trim=$malloc_trim -Dsparse=$sparse \ @@ -5221,6 +5216,7 @@ else perl -i -ne ' s/^gettext = true$/gettext = auto/; s/^gettext = false$/gettext = disabled/; + /^b_staticpic/ && next; print;' meson-private/cmd_line.txt fi fi diff --git a/docs/meson.build b/docs/meson.build index cffe1ecf1d..be4dc30f39 100644 --- a/docs/meson.build +++ b/docs/meson.build @@ -37,14 +37,14 @@ endif if build_docs SPHINX_ARGS += ['-Dversion=' + meson.project_version(), '-Drelease=' + config_host['PKGVERSION']] - sphinx_extn_depends = [ meson.source_root() / 'docs/sphinx/depfile.py', - meson.source_root() / 'docs/sphinx/hxtool.py', - meson.source_root() / 'docs/sphinx/kerneldoc.py', - meson.source_root() / 'docs/sphinx/kernellog.py', - meson.source_root() / 'docs/sphinx/qapidoc.py', - meson.source_root() / 'docs/sphinx/qmp_lexer.py', + sphinx_extn_depends = [ meson.current_source_dir() / 'sphinx/depfile.py', + meson.current_source_dir() / 'sphinx/hxtool.py', + meson.current_source_dir() / 'sphinx/kerneldoc.py', + meson.current_source_dir() / 'sphinx/kernellog.py', + meson.current_source_dir() / 'sphinx/qapidoc.py', + meson.current_source_dir() / 'sphinx/qmp_lexer.py', qapi_gen_depends ] - sphinx_template_files = [ meson.source_root() / 'docs/_templates/footer.html' ] + sphinx_template_files = [ meson.project_source_root() / 'docs/_templates/footer.html' ] have_ga = have_tools and config_host.has_key('CONFIG_GUEST_AGENT') diff --git a/meson.build b/meson.build index 2711cbb789..3945a6cc2d 100644 --- a/meson.build +++ b/meson.build @@ -1,14 +1,10 @@ -project('qemu', ['c'], meson_version: '>=0.55.0', - default_options: ['warning_level=1', 'c_std=gnu11', 'cpp_std=gnu++11', 'b_colorout=auto'] + - (meson.version().version_compare('>=0.56.0') ? [ 'b_staticpic=false' ] : []), - version: run_command('head', meson.source_root() / 'VERSION').stdout().strip()) +project('qemu', ['c'], meson_version: '>=0.57.0', + default_options: ['warning_level=1', 'c_std=gnu11', 'cpp_std=gnu++11', 'b_colorout=auto', + 'b_staticpic=false'], + version: files('VERSION')) not_found = dependency('', required: false) -if meson.version().version_compare('>=0.56.0') - keyval = import('keyval') -else - keyval = import('unstable-keyval') -endif +keyval = import('keyval') ss = import('sourceset') fs = import('fs') @@ -1963,21 +1959,21 @@ genh += configure_file(output: 'config-host.h', configuration: config_host_data) hxtool = find_program('scripts/hxtool') shaderinclude = find_program('scripts/shaderinclude.pl') qapi_gen = find_program('scripts/qapi-gen.py') -qapi_gen_depends = [ meson.source_root() / 'scripts/qapi/__init__.py', - meson.source_root() / 'scripts/qapi/commands.py', - meson.source_root() / 'scripts/qapi/common.py', - meson.source_root() / 'scripts/qapi/error.py', - meson.source_root() / 'scripts/qapi/events.py', - meson.source_root() / 'scripts/qapi/expr.py', - meson.source_root() / 'scripts/qapi/gen.py', - meson.source_root() / 'scripts/qapi/introspect.py', - meson.source_root() / 'scripts/qapi/parser.py', - meson.source_root() / 'scripts/qapi/schema.py', - meson.source_root() / 'scripts/qapi/source.py', - meson.source_root() / 'scripts/qapi/types.py', - meson.source_root() / 'scripts/qapi/visit.py', - meson.source_root() / 'scripts/qapi/common.py', - meson.source_root() / 'scripts/qapi-gen.py' +qapi_gen_depends = [ meson.current_source_dir() / 'scripts/qapi/__init__.py', + meson.current_source_dir() / 'scripts/qapi/commands.py', + meson.current_source_dir() / 'scripts/qapi/common.py', + meson.current_source_dir() / 'scripts/qapi/error.py', + meson.current_source_dir() / 'scripts/qapi/events.py', + meson.current_source_dir() / 'scripts/qapi/expr.py', + meson.current_source_dir() / 'scripts/qapi/gen.py', + meson.current_source_dir() / 'scripts/qapi/introspect.py', + meson.current_source_dir() / 'scripts/qapi/parser.py', + meson.current_source_dir() / 'scripts/qapi/schema.py', + meson.current_source_dir() / 'scripts/qapi/source.py', + meson.current_source_dir() / 'scripts/qapi/types.py', + meson.current_source_dir() / 'scripts/qapi/visit.py', + meson.current_source_dir() / 'scripts/qapi/common.py', + meson.current_source_dir() / 'scripts/qapi-gen.py' ] tracetool = [ @@ -2624,14 +2620,14 @@ foreach target : target_dirs if target.endswith('-softmmu') execs = [{ 'name': 'qemu-system-' + target_name, - 'gui': false, + 'win_subsystem': 'console', 'sources': files('softmmu/main.c'), 'dependencies': [] }] if targetos == 'windows' and (sdl.found() or gtk.found()) execs += [{ 'name': 'qemu-system-' + target_name + 'w', - 'gui': true, + 'win_subsystem': 'windows', 'sources': files('softmmu/main.c'), 'dependencies': [] }] @@ -2640,7 +2636,7 @@ foreach target : target_dirs specific_fuzz = specific_fuzz_ss.apply(config_target, strict: false) execs += [{ 'name': 'qemu-fuzz-' + target_name, - 'gui': false, + 'win_subsystem': 'console', 'sources': specific_fuzz.sources(), 'dependencies': specific_fuzz.dependencies(), }] @@ -2648,7 +2644,7 @@ foreach target : target_dirs else execs = [{ 'name': 'qemu-' + target_name, - 'gui': false, + 'win_subsystem': 'console', 'sources': [], 'dependencies': [] }] @@ -2667,7 +2663,7 @@ foreach target : target_dirs link_language: link_language, link_depends: [block_syms, qemu_syms] + exe.get('link_depends', []), link_args: link_args, - gui_app: exe['gui']) + win_subsystem: exe['win_subsystem']) if targetos == 'darwin' icon = 'pc-bios/qemu.rsrc' diff --git a/plugins/meson.build b/plugins/meson.build index bfd5c9822a..aeb386ebae 100644 --- a/plugins/meson.build +++ b/plugins/meson.build @@ -2,9 +2,9 @@ plugin_ldflags = [] # Modules need more symbols than just those in plugins/qemu-plugins.symbols if not enable_modules if 'CONFIG_HAS_LD_DYNAMIC_LIST' in config_host - plugin_ldflags = ['-Wl,--dynamic-list=' + (meson.build_root() / 'qemu-plugins-ld.symbols')] + plugin_ldflags = ['-Wl,--dynamic-list=' + (meson.project_build_root() / 'qemu-plugins-ld.symbols')] elif 'CONFIG_HAS_LD_EXPORTED_SYMBOLS_LIST' in config_host - plugin_ldflags = ['-Wl,-exported_symbols_list,' + (meson.build_root() / 'qemu-plugins-ld64.symbols')] + plugin_ldflags = ['-Wl,-exported_symbols_list,' + (meson.project_build_root() / 'qemu-plugins-ld64.symbols')] endif endif diff --git a/scripts/mtest2make.py b/scripts/mtest2make.py index ee072c0502..02c0453e67 100644 --- a/scripts/mtest2make.py +++ b/scripts/mtest2make.py @@ -60,11 +60,8 @@ def process_tests(test, targets, suites): if test['workdir'] is not None: print('.test.dir.%d := %s' % (i, shlex.quote(test['workdir']))) - if 'depends' in test: - deps = (targets.get(x, []) for x in test['depends']) - deps = itertools.chain.from_iterable(deps) - else: - deps = ['all'] + deps = (targets.get(x, []) for x in test['depends']) + deps = itertools.chain.from_iterable(deps) print('.test.name.%d := %s' % (i, test['name'])) print('.test.driver.%d := %s' % (i, driver)) diff --git a/tests/qapi-schema/meson.build b/tests/qapi-schema/meson.build index 6b2a4ce41a..6a08d23ce8 100644 --- a/tests/qapi-schema/meson.build +++ b/tests/qapi-schema/meson.build @@ -1,5 +1,5 @@ test_env = environment() -test_env.set('PYTHONPATH', meson.source_root() / 'scripts') +test_env.set('PYTHONPATH', meson.project_source_root() / 'scripts') test_env.set('PYTHONIOENCODING', 'utf-8') schemas = [ @@ -253,7 +253,7 @@ if build_docs # clutter up the build dir with the cache. command: [SPHINX_ARGS, '-b', 'text', '-E', - '-c', meson.source_root() / 'docs', + '-c', meson.project_source_root() / 'docs', '-D', 'master_doc=doc-good', meson.current_source_dir(), meson.current_build_dir()]) diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build index 757bb8499a..e1f4df3df8 100644 --- a/tests/qtest/meson.build +++ b/tests/qtest/meson.build @@ -275,7 +275,7 @@ foreach dir : target_dirs qtest_env.set('QTEST_QEMU_IMG', './qemu-img') test_deps += [qemu_img] endif - qtest_env.set('G_TEST_DBUS_DAEMON', meson.source_root() / 'tests/dbus-vmstate-daemon.sh') + qtest_env.set('G_TEST_DBUS_DAEMON', meson.project_source_root() / 'tests/dbus-vmstate-daemon.sh') qtest_env.set('QTEST_QEMU_BINARY', './qemu-system-' + target_base) if have_tools and have_vhost_user_blk_server qtest_env.set('QTEST_QEMU_STORAGE_DAEMON_BINARY', './storage-daemon/qemu-storage-daemon') diff --git a/tests/unit/meson.build b/tests/unit/meson.build index 5736d285b2..7c297d7e5c 100644 --- a/tests/unit/meson.build +++ b/tests/unit/meson.build @@ -43,7 +43,7 @@ tests = { 'test-keyval': [testqapi], 'test-logging': [], 'test-uuid': [], - 'ptimer-test': ['ptimer-test-stubs.c', meson.source_root() / 'hw/core/ptimer.c'], + 'ptimer-test': ['ptimer-test-stubs.c', meson.project_source_root() / 'hw/core/ptimer.c'], 'test-qapi-util': [], } diff --git a/trace/meson.build b/trace/meson.build index e401e7c415..b8f95de200 100644 --- a/trace/meson.build +++ b/trace/meson.build @@ -4,7 +4,7 @@ specific_ss.add(files('control-target.c')) trace_events_files = [] dtrace = find_program('dtrace', required: 'CONFIG_TRACE_DTRACE' in config_host) foreach dir : [ '.' ] + trace_events_subdirs - trace_events_file = meson.source_root() / dir / 'trace-events' + trace_events_file = meson.project_source_root() / dir / 'trace-events' trace_events_files += [ trace_events_file ] group_name = dir == '.' ? 'root' : dir.underscorify() group = '--group=' + group_name @@ -70,7 +70,7 @@ foreach d : [ ] gen = custom_target(d[0], output: d[0], - input: meson.source_root() / 'trace-events', + input: meson.project_source_root() / 'trace-events', command: [ tracetool, '--group=root', '--format=@0@'.format(d[1]), '@INPUT@', '@OUTPUT@' ], depend_files: tracetool_depends) specific_ss.add(when: 'CONFIG_TCG', if_true: gen) -- 2.31.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PULL 3/3] hexagon: use env keyword argument to pass PYTHONPATH 2021-09-18 9:31 [PULL 0/3] Update meson version Paolo Bonzini 2021-09-18 9:31 ` [PULL 1/3] meson: bump submodule to 0.58.2 Paolo Bonzini 2021-09-18 9:31 ` [PULL 2/3] meson: switch minimum meson version " Paolo Bonzini @ 2021-09-18 9:31 ` Paolo Bonzini 2021-09-21 12:40 ` [PULL 0/3] Update meson version Peter Maydell 3 siblings, 0 replies; 11+ messages in thread From: Paolo Bonzini @ 2021-09-18 9:31 UTC (permalink / raw) To: qemu-devel This feature is new in meson 0.57 and allows getting rid of the "env" wrapper. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- target/hexagon/meson.build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/hexagon/meson.build b/target/hexagon/meson.build index 6fd9360b74..c6d858ffb2 100644 --- a/target/hexagon/meson.build +++ b/target/hexagon/meson.build @@ -156,7 +156,8 @@ dectree_generated = custom_target( 'dectree_generated.h.inc', output: 'dectree_generated.h.inc', depends: [iset_py], - command: ['env', 'PYTHONPATH=' + meson.current_build_dir(), files('dectree.py'), '@OUTPUT@'], + env: {'PYTHONPATH': meson.current_build_dir()}, + command: [python, files('dectree.py'), '@OUTPUT@'], ) hexagon_ss.add(dectree_generated) -- 2.31.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PULL 0/3] Update meson version 2021-09-18 9:31 [PULL 0/3] Update meson version Paolo Bonzini ` (2 preceding siblings ...) 2021-09-18 9:31 ` [PULL 3/3] hexagon: use env keyword argument to pass PYTHONPATH Paolo Bonzini @ 2021-09-21 12:40 ` Peter Maydell 2021-09-21 12:48 ` Daniel P. Berrangé ` (3 more replies) 3 siblings, 4 replies; 11+ messages in thread From: Peter Maydell @ 2021-09-21 12:40 UTC (permalink / raw) To: Paolo Bonzini; +Cc: QEMU Developers On Sat, 18 Sept 2021 at 10:34, Paolo Bonzini <pbonzini@redhat.com> wrote: > > The following changes since commit 831aaf24967a49d7750090b9dcfd6bf356f16529: > > Merge remote-tracking branch 'remotes/marcandre/tags/misc-pull-request' into staging (2021-09-14 18:14:56 +0100) > > are available in the Git repository at: > > https://gitlab.com/bonzini/qemu.git tags/for-upstream > > for you to fetch changes up to ccc3f971c37bd2202a21abc9f0be093f10426364: > > hexagon: use env keyword argument to pass PYTHONPATH (2021-09-15 09:12:55 +0200) > > ---------------------------------------------------------------- > * Update Meson to 0.58.2 > > ---------------------------------------------------------------- > Paolo Bonzini (3): > meson: bump submodule to 0.58.2 > meson: switch minimum meson version to 0.58.2 > hexagon: use env keyword argument to pass PYTHONPATH So, I tried merging this, ran into some "is this an issue with this pullreq or is it just an intermittent or infrastructure" issues, and decided to postpone the merge for a bit and retry it later. It has made an absolute mess of my incremental build setups. They now all fail with errors like this, even after having blown away the build directory and re-created it: Darwin manooth.archaic.org.uk 19.6.0 x86_64 make: Entering directory '/Users/pm215/src/qemu-for-merges/build/all' /usr/local/bin/ninja build.ninja && touch build.ninja.stamp GIT ui/keycodemapdb meson tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc capstone slirp [0/1] Regenerating build files. Traceback (most recent call last): File "/Users/pm215/src/qemu-for-merges/meson/mesonbuild/mesonmain.py", line 140, in run return options.run_func(options) File "/Users/pm215/src/qemu-for-merges/meson/mesonbuild/msetup.py", line 245, in run app.generate() File "/Users/pm215/src/qemu-for-merges/meson/mesonbuild/msetup.py", line 154, in generate env = environment.Environment(self.source_dir, self.build_dir, self.options) File "/Users/pm215/src/qemu-for-merges/meson/mesonbuild/environment.py", line 523, in __init__ self.coredata = coredata.load(self.get_build_dir()) File "/Users/pm215/src/qemu-for-merges/meson/mesonbuild/coredata.py", line 1016, in load obj = pickle.load(f) ModuleNotFoundError: No module named 'mesonbuild.mesonlib.universal'; 'mesonbuild.mesonlib' is not a package FAILED: build.ninja Is there anything that can be done to make meson version bumps not a horrific pain to back out ? This seems to go wrong pretty much every time. thanks -- PMM ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PULL 0/3] Update meson version 2021-09-21 12:40 ` [PULL 0/3] Update meson version Peter Maydell @ 2021-09-21 12:48 ` Daniel P. Berrangé 2021-09-21 12:55 ` Peter Maydell 2021-09-21 13:12 ` Paolo Bonzini ` (2 subsequent siblings) 3 siblings, 1 reply; 11+ messages in thread From: Daniel P. Berrangé @ 2021-09-21 12:48 UTC (permalink / raw) To: Peter Maydell; +Cc: Paolo Bonzini, QEMU Developers On Tue, Sep 21, 2021 at 01:40:36PM +0100, Peter Maydell wrote: > On Sat, 18 Sept 2021 at 10:34, Paolo Bonzini <pbonzini@redhat.com> wrote: > > > > The following changes since commit 831aaf24967a49d7750090b9dcfd6bf356f16529: > > > > Merge remote-tracking branch 'remotes/marcandre/tags/misc-pull-request' into staging (2021-09-14 18:14:56 +0100) > > > > are available in the Git repository at: > > > > https://gitlab.com/bonzini/qemu.git tags/for-upstream > > > > for you to fetch changes up to ccc3f971c37bd2202a21abc9f0be093f10426364: > > > > hexagon: use env keyword argument to pass PYTHONPATH (2021-09-15 09:12:55 +0200) > > > > ---------------------------------------------------------------- > > * Update Meson to 0.58.2 > > > > ---------------------------------------------------------------- > > Paolo Bonzini (3): > > meson: bump submodule to 0.58.2 > > meson: switch minimum meson version to 0.58.2 > > hexagon: use env keyword argument to pass PYTHONPATH > > So, I tried merging this, ran into some "is this an issue with this > pullreq or is it just an intermittent or infrastructure" issues, > and decided to postpone the merge for a bit and retry it later. > > It has made an absolute mess of my incremental build setups. > They now all fail with errors like this, even after having blown > away the build directory and re-created it: Might want to 'git submodule deinit --all --force' to purge all currently checked out submodules, so it'll then re-init them in a clean (older) state. In theory this should be handled by the git-submodule.sh script we have in QEMU, but 'deinit' is a big hammer to try if wierd things appear to be happening despite cleaning the build dir. > Is there anything that can be done to make meson version bumps > not a horrific pain to back out ? This seems to go wrong pretty > much every time. Save your previous 'build' directory contents somewhere safe and record the submodule checkout hashes, so they can be reset to that ? Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PULL 0/3] Update meson version 2021-09-21 12:48 ` Daniel P. Berrangé @ 2021-09-21 12:55 ` Peter Maydell 0 siblings, 0 replies; 11+ messages in thread From: Peter Maydell @ 2021-09-21 12:55 UTC (permalink / raw) To: Daniel P. Berrangé; +Cc: Paolo Bonzini, QEMU Developers On Tue, 21 Sept 2021 at 13:48, Daniel P. Berrangé <berrange@redhat.com> wrote: > > On Tue, Sep 21, 2021 at 01:40:36PM +0100, Peter Maydell wrote: > > Is there anything that can be done to make meson version bumps > > not a horrific pain to back out ? This seems to go wrong pretty > > much every time. > > Save your previous 'build' directory contents somewhere safe > and record the submodule checkout hashes, so they can be > reset to that ? I want this fixed on the Meson end, because if I run into this kind of thing while testing and then backing out pull requests then it seems quite likely that it will also happen to people as they try to bisect across the merge once it eventually gets into git. -- PMM ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PULL 0/3] Update meson version 2021-09-21 12:40 ` [PULL 0/3] Update meson version Peter Maydell 2021-09-21 12:48 ` Daniel P. Berrangé @ 2021-09-21 13:12 ` Paolo Bonzini 2021-09-21 13:14 ` Paolo Bonzini 2021-09-22 18:22 ` Peter Maydell 3 siblings, 0 replies; 11+ messages in thread From: Paolo Bonzini @ 2021-09-21 13:12 UTC (permalink / raw) To: Peter Maydell; +Cc: QEMU Developers On 21/09/21 14:40, Peter Maydell wrote: > Is there anything that can be done to make meson version bumps > not a horrific pain to back out ? This seems to go wrong pretty > much every time. Downgrading works fine in 0.58 and newer releases, but the fix is not in 0.55.x. The reason why it goes wrong every time is that we've never updated past a version that has the fix. What were the issues? Paolo ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PULL 0/3] Update meson version 2021-09-21 12:40 ` [PULL 0/3] Update meson version Peter Maydell 2021-09-21 12:48 ` Daniel P. Berrangé 2021-09-21 13:12 ` Paolo Bonzini @ 2021-09-21 13:14 ` Paolo Bonzini 2021-09-22 18:22 ` Peter Maydell 3 siblings, 0 replies; 11+ messages in thread From: Paolo Bonzini @ 2021-09-21 13:14 UTC (permalink / raw) To: Peter Maydell; +Cc: QEMU Developers On 21/09/21 14:40, Peter Maydell wrote: > even after having blown > away the build directory and re-created it: Doesn't look like you fully blew away the build directory though. Paolo ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PULL 0/3] Update meson version 2021-09-21 12:40 ` [PULL 0/3] Update meson version Peter Maydell ` (2 preceding siblings ...) 2021-09-21 13:14 ` Paolo Bonzini @ 2021-09-22 18:22 ` Peter Maydell 2021-09-23 8:25 ` Paolo Bonzini 3 siblings, 1 reply; 11+ messages in thread From: Peter Maydell @ 2021-09-22 18:22 UTC (permalink / raw) To: Paolo Bonzini; +Cc: QEMU Developers On Tue, 21 Sept 2021 at 13:40, Peter Maydell <peter.maydell@linaro.org> wrote: > > On Sat, 18 Sept 2021 at 10:34, Paolo Bonzini <pbonzini@redhat.com> wrote: > > > > The following changes since commit 831aaf24967a49d7750090b9dcfd6bf356f16529: > > > > Merge remote-tracking branch 'remotes/marcandre/tags/misc-pull-request' into staging (2021-09-14 18:14:56 +0100) > > > > are available in the Git repository at: > > > > https://gitlab.com/bonzini/qemu.git tags/for-upstream > > > > for you to fetch changes up to ccc3f971c37bd2202a21abc9f0be093f10426364: > > > > hexagon: use env keyword argument to pass PYTHONPATH (2021-09-15 09:12:55 +0200) > > > > ---------------------------------------------------------------- > > * Update Meson to 0.58.2 > > > > ---------------------------------------------------------------- > > Paolo Bonzini (3): > > meson: bump submodule to 0.58.2 > > meson: switch minimum meson version to 0.58.2 > > hexagon: use env keyword argument to pass PYTHONPATH > > So, I tried merging this, ran into some "is this an issue with this > pullreq or is it just an intermittent or infrastructure" issues, > and decided to postpone the merge for a bit and retry it later. I had another go at this. As far as I can tell it causes all the vm-build-{openbsd,netbsd,freebsd} build-and-tests to hang. At any rate the VMs are sat there eating host CPU. Does 'make vm-build-freebsd' etc work for you ? -- PMM ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PULL 0/3] Update meson version 2021-09-22 18:22 ` Peter Maydell @ 2021-09-23 8:25 ` Paolo Bonzini 0 siblings, 0 replies; 11+ messages in thread From: Paolo Bonzini @ 2021-09-23 8:25 UTC (permalink / raw) To: Peter Maydell; +Cc: QEMU Developers On 22/09/21 20:22, Peter Maydell wrote: > I had another go at this. As far as I can tell it causes all > the vm-build-{openbsd,netbsd,freebsd} build-and-tests to hang. > At any rate the VMs are sat there eating host CPU. > Does 'make vm-build-freebsd' etc work for you ? It has been hanging for some time but I hadn't debugged it until now. It's caused by a missing dependency that causes bios-tables-test to fail (badly). It's plausible that the meson upgrade triggered a different build ordering for make/ninja, and made it hang for you as well. There was also a related bug that caused the test to hang if bzip2 was not available. Paolo ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2021-09-23 8:26 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-09-18 9:31 [PULL 0/3] Update meson version Paolo Bonzini 2021-09-18 9:31 ` [PULL 1/3] meson: bump submodule to 0.58.2 Paolo Bonzini 2021-09-18 9:31 ` [PULL 2/3] meson: switch minimum meson version " Paolo Bonzini 2021-09-18 9:31 ` [PULL 3/3] hexagon: use env keyword argument to pass PYTHONPATH Paolo Bonzini 2021-09-21 12:40 ` [PULL 0/3] Update meson version Peter Maydell 2021-09-21 12:48 ` Daniel P. Berrangé 2021-09-21 12:55 ` Peter Maydell 2021-09-21 13:12 ` Paolo Bonzini 2021-09-21 13:14 ` Paolo Bonzini 2021-09-22 18:22 ` Peter Maydell 2021-09-23 8:25 ` Paolo Bonzini
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.