[PULL 0/3] Update meson version

Paolo Bonzini posted 3 patches 2 years, 7 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210918093140.5797-1-pbonzini@redhat.com
Maintainers: Taylor Simpson <tsimpson@quicinc.com>
There is a newer version of this series
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(-)
[PULL 0/3] Update meson version
Posted by Paolo Bonzini 2 years, 7 months ago
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


Re: [PULL 0/3] Update meson version
Posted by Peter Maydell 2 years, 7 months ago
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

Re: [PULL 0/3] Update meson version
Posted by Daniel P. Berrangé 2 years, 7 months ago
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 :|


Re: [PULL 0/3] Update meson version
Posted by Peter Maydell 2 years, 7 months ago
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

Re: [PULL 0/3] Update meson version
Posted by Paolo Bonzini 2 years, 7 months ago
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

Re: [PULL 0/3] Update meson version
Posted by Paolo Bonzini 2 years, 7 months ago
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

Re: [PULL 0/3] Update meson version
Posted by Peter Maydell 2 years, 6 months ago
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

Re: [PULL 0/3] Update meson version
Posted by Paolo Bonzini 2 years, 6 months ago
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