Thanks, applied as 866ee957c87a83fb99d16c52b8d80a3b6b5e7631. Michael
[sent from post-receive hook] On Tue, 16 Sep 2025 21:44:45 +0200, Christian Melki <[email protected]> wrote: > https://wiki.qemu.org/ChangeLog/10.1 > passt is interesting, but I had some trivial build errors. > > * Fix some build options. > > * Slight adjustment to patchset. Applies cleanly. > > Signed-off-by: Christian Melki <[email protected]> > Message-Id: <[email protected]> > Signed-off-by: Michael Olbrich <[email protected]> > > diff --git a/patches/qemu-10.0.3/0001-mkvenv-Support-pip-25.2.patch > b/patches/qemu-10.0.3/0001-mkvenv-Support-pip-25.2.patch > deleted file mode 100644 > index 99bb782bccd0..000000000000 > --- a/patches/qemu-10.0.3/0001-mkvenv-Support-pip-25.2.patch > +++ /dev/null > @@ -1,129 +0,0 @@ > -From: "Sv. Lockal" <[email protected]> > -Date: Mon, 11 Aug 2025 15:01:59 -0400 > -Subject: [PATCH] mkvenv: Support pip 25.2 > - > -Fix compilation with pip-25.2 due to missing distlib.version > - > -Bug: https://gitlab.com/qemu-project/qemu/-/issues/3062 > - > -Signed-off-by: Sv. Lockal <[email protected]> > -[Edits: Type "safety" whackamole --js] > -Signed-off-by: John Snow <[email protected]> > -Message-ID: <[email protected]> > -Signed-off-by: Stefan Hajnoczi <[email protected]> > ---- > - python/scripts/mkvenv.py | 64 > +++++++++++++++++++++++++++++++++++++++++++++--- > - 1 file changed, 60 insertions(+), 4 deletions(-) > - > -diff --git a/python/scripts/mkvenv.py b/python/scripts/mkvenv.py > -index 8ac5b0b2a05c..f102527c4de4 100644 > ---- a/python/scripts/mkvenv.py > -+++ b/python/scripts/mkvenv.py > -@@ -84,6 +84,7 @@ > - Sequence, > - Tuple, > - Union, > -+ cast, > - ) > - import venv > - > -@@ -94,17 +95,39 @@ > - HAVE_DISTLIB = True > - try: > - import distlib.scripts > -- import distlib.version > - except ImportError: > - try: > - # Reach into pip's cookie jar. pylint and flake8 don't understand > - # that these imports will be used via distlib.xxx. > - from pip._vendor import distlib > - import pip._vendor.distlib.scripts # noqa, pylint: > disable=unused-import > -- import pip._vendor.distlib.version # noqa, pylint: > disable=unused-import > - except ImportError: > - HAVE_DISTLIB = False > - > -+# pip 25.2 does not vendor distlib.version, but it uses vendored > -+# packaging.version > -+HAVE_DISTLIB_VERSION = True > -+try: > -+ import distlib.version # pylint: disable=ungrouped-imports > -+except ImportError: > -+ try: > -+ # pylint: disable=unused-import,ungrouped-imports > -+ import pip._vendor.distlib.version # noqa > -+ except ImportError: > -+ HAVE_DISTLIB_VERSION = False > -+ > -+HAVE_PACKAGING_VERSION = True > -+try: > -+ # Do not bother importing non-vendored packaging, because it is not > -+ # in stdlib. > -+ from pip._vendor import packaging > -+ # pylint: disable=unused-import > -+ import pip._vendor.packaging.requirements # noqa > -+ import pip._vendor.packaging.version # noqa > -+except ImportError: > -+ HAVE_PACKAGING_VERSION = False > -+ > -+ > - # Try to load tomllib, with a fallback to tomli. > - # HAVE_TOMLLIB is checked below, just-in-time, so that mkvenv does not fail > - # outside the venv or before a potential call to ensurepip in checkpip(). > -@@ -133,6 +156,39 @@ class Ouch(RuntimeError): > - """An Exception class we can't confuse with a builtin.""" > - > - > -+class Matcher: > -+ """Compatibility appliance for version/requirement string parsing.""" > -+ def __init__(self, name_and_constraint: str): > -+ """Create a matcher from a requirement-like string.""" > -+ if HAVE_DISTLIB_VERSION: > -+ self._m = distlib.version.LegacyMatcher(name_and_constraint) > -+ elif HAVE_PACKAGING_VERSION: > -+ self._m = > packaging.requirements.Requirement(name_and_constraint) > -+ else: > -+ raise Ouch("found neither distlib.version nor > packaging.version") > -+ self.name = self._m.name > -+ > -+ def match(self, version_str: str) -> bool: > -+ """Return True if `version` satisfies the stored constraint.""" > -+ if HAVE_DISTLIB_VERSION: > -+ return cast( > -+ bool, > -+ self._m.match(distlib.version.LegacyVersion(version_str)) > -+ ) > -+ > -+ assert HAVE_PACKAGING_VERSION > -+ return cast( > -+ bool, > -+ self._m.specifier.contains( > -+ packaging.version.Version(version_str), prereleases=True > -+ ) > -+ ) > -+ > -+ def __repr__(self) -> str: > -+ """Stable debug representation delegated to the backend.""" > -+ return repr(self._m) > -+ > -+ > - class QemuEnvBuilder(venv.EnvBuilder): > - """ > - An extension of venv.EnvBuilder for building QEMU's configure-time venv. > -@@ -669,7 +725,7 @@ def _do_ensure( > - canary = None > - for name, info in group.items(): > - constraint = _make_version_constraint(info, False) > -- matcher = distlib.version.LegacyMatcher(name + constraint) > -+ matcher = Matcher(name + constraint) > - print(f"mkvenv: checking for {matcher}", file=sys.stderr) > - > - dist: Optional[Distribution] = None > -@@ -683,7 +739,7 @@ def _do_ensure( > - # Always pass installed package to pip, so that they can be > - # updated if the requested version changes > - or not _is_system_package(dist) > -- or not > matcher.match(distlib.version.LegacyVersion(dist.version)) > -+ or not matcher.match(dist.version) > - ): > - absent.append(name + _make_version_constraint(info, True)) > - if len(absent) == 1: > diff --git > a/patches/qemu-10.0.3/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch > > b/patches/qemu-10.1.0/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch > similarity index 96% > rename from > patches/qemu-10.0.3/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch > rename to > patches/qemu-10.1.0/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch > index 23fd20fa66c7..edd4e9d10bca 100644 > --- > a/patches/qemu-10.0.3/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch > +++ > b/patches/qemu-10.1.0/0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch > @@ -11,7 +11,7 @@ Signed-off-by: Michael Olbrich <[email protected]> > 1 file changed, 27 insertions(+), 13 deletions(-) > > diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c > -index 928523afcc6c..898b54b71dc3 100644 > +index 31e216227cb9..1815a99c9da4 100644 > --- a/hw/9pfs/9p-local.c > +++ b/hw/9pfs/9p-local.c > @@ -462,8 +462,7 @@ static ssize_t local_readlink(FsContext *fs_ctx, > V9fsPath *fs_path, > @@ -50,7 +50,7 @@ index 928523afcc6c..898b54b71dc3 100644 > close_preserve_errno(dirfd); > out: > g_free(name); > -@@ -899,18 +910,21 @@ static int local_symlink(FsContext *fs_ctx, const char > *oldpath, > +@@ -902,18 +913,21 @@ static int local_symlink(FsContext *fs_ctx, const char > *oldpath, > int fd; > ssize_t oldpath_size, write_size; > > diff --git a/patches/qemu-10.0.3/series b/patches/qemu-10.1.0/series > similarity index 66% > rename from patches/qemu-10.0.3/series > rename to patches/qemu-10.1.0/series > index d3850e1476ea..a55ede383bcd 100644 > --- a/patches/qemu-10.0.3/series > +++ b/patches/qemu-10.1.0/series > @@ -1,7 +1,6 @@ > # generated by git-ptx-patches > #tag:base --start-number 1 > #tag:upstream --start-number 1 > -0001-mkvenv-Support-pip-25.2.patch > #tag:ptxdist --start-number 100 > 0100-9pfs-allow-real-symlinks-for-security_model-mapped-f.patch > -# 90df50896012ad0765d46dd687353664 - git-ptx-patches magic > +# 7c1abd8b5f5ef26378050b669cba203a - git-ptx-patches magic > diff --git a/rules/qemu.make b/rules/qemu.make > index 9d15caa543b7..b168bc203a47 100644 > --- a/rules/qemu.make > +++ b/rules/qemu.make > @@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_QEMU) += qemu > # > # Paths and names > # > -QEMU_VERSION := 10.0.3 > -QEMU_MD5 := 4a244f485c9d7ac3d40f958f13eae298 > +QEMU_VERSION := 10.1.0 > +QEMU_MD5 := 3bde2d1b18d38d44331a6d9cb0cc3962 > QEMU := qemu-$(QEMU_VERSION) > QEMU_SUFFIX := tar.xz > QEMU_URL := https://download.qemu.org/$(QEMU).$(QEMU_SUFFIX) > @@ -123,6 +123,7 @@ QEMU_CONF_OPT := \ > --disable-hv-balloon \ > --disable-hvf \ > --enable-iconv \ > + --disable-igvm \ > --disable-jack \ > --disable-keyring \ > --enable-kvm \ > @@ -155,6 +156,7 @@ QEMU_CONF_OPT := \ > --disable-oss \ > --$(call ptx/endis, PTXCONF_QEMU_PULSEAUDIO)-pa \ > --disable-parallels \ > + --disable-passt \ > --$(call ptx/endis, PTXCONF_QEMU_PIPEWIRE)-pipewire \ > --$(call ptx/endis, PTXCONF_QEMU_PIXMAN)-pixman \ > --disable-plugins \ > @@ -189,6 +191,7 @@ QEMU_CONF_OPT := \ > --disable-u2f \ > --disable-uadk \ > --disable-usb-redir \ > + --disable-valgrind \ > --disable-vde \ > --disable-vdi \ > --disable-vduse-blk-export \
