<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qemu/qemu.git/python/scripts, branch master</title>
<subtitle>QEMU main repository</subtitle>
<id>https://git.landau.one/pub/scm/virt/qemu/qemu.git/atom?h=master</id>
<link rel='self' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/'/>
<updated>2026-09-02T19:02:58+00:00</updated>
<entry>
<title>python: upgrade to Python3.12+</title>
<updated>2026-09-02T19:02:58+00:00</updated>
<author>
<name>John Snow</name>
<email>jsnow@redhat.com</email>
</author>
<published>2026-08-25T21:58:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=bc5d8b4bc044555b5598604dd400204e1854feaa'/>
<id>urn:sha1:bc5d8b4bc044555b5598604dd400204e1854feaa</id>
<content type='text'>
With Python3.9 EOL and Python3.10 soon to be EOL (October 2026), and
with ... no other supported build platform actually using Python 3.11,
require the use of Python3.12 or later.

Additionally, as part of this upgrade, remove the use of tomllib from
mkvenv as it is now standard in the Python stdlib: leaving this
transitional code in causes a regression with mypy which becomes
confused about the overloaded use of 'tomllib'.

Our current minimum requirements as determined by standard repository
packages on supported distributions is as follows:

distro            EOS         python3  pip     setuptools  sphinx  wheel
Reviewed-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
-------------------------------------------------------------------------
centos_stream_9   2026-12-12  3.9.25   21.3.1  53.0.0      3.4.3   0.36.2
centos_stream_9+  2026-12-12  3.12.13  23.2.1  68.2.2      ---     0.41.2
freebsd           --          3.12.14  23.3.2  63.1.0      9.0.4   0.48.0
ubuntu_24_04      2028-04-23  3.12.3   24.0    68.1.2      7.2.6   0.42.0
centos_stream_10  2030-01-01  3.12.13  23.3.2  69.0.3      7.2.6   0.41.2
alpine_3_21       2026-11-01  3.12.14  24.3.1  70.3.0      8.1.3   0.43.0
debian_13         2028-08-09  3.13.5   25.1.1  78.1.1      8.1.3   0.46.1
fedora_43         2026-12-09  3.14.7   25.1.1  78.1.1      8.2.3   0.45.1
ubuntu_26_04      2031-05-29  3.14.4   25.1.1  78.1.1      8.2.3   0.46.3
fedora_44         2027-06-02  3.14.7   26.0.1  80.10.2     8.2.3   0.45.1
macports          --          3.14.7   26.0.1  80.10.2     9.1.0   0.48.0
alpine_3_22       2027-05-01  3.12.14  25.1.1  80.9.0      8.2.3   0.46.3
alpine_3_23       2027-11-01  3.12.14  25.1.1  80.9.0      8.2.3   0.46.3
openbsd           --          3.14.6   26.2.1  80.9.0      9.1.0   0.48.0
alpine_3_24       2028-06-01  3.14.7   26.1.2  82.0.1      9.1.0   0.47.0
pkgsrc_current    --          3.13.15  26.2.1  84.0.0      9.1.0   0.48.0

CentOS stream 9 note: python3.12, python3.12-pip,
python3.12-setuptools and python3.12-wheel are available as optional
packages in the standard repository. Sphinx is not available, but can
be side-loaded from PyPI using pip3.12.

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
Message-ID: &lt;20260825215851.1780608-10-jsnow@redhat.com&gt;
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python, meson: update meson required for Rust to 1.12.0</title>
<updated>2026-08-20T07:06:43+00:00</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2026-08-13T08:27:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=4c8c1320367a5b84864700d4634a8f07aed4753a'/>
<id>urn:sha1:4c8c1320367a5b84864700d4634a8f07aed4753a</id>
<content type='text'>
Meson 1.11.0 brings support for parsing Cargo.toml inside QEMU's source
tree, and Meson 1.12.0 brings support for cross-compilation of Cargo
subprojects.

Together, these two features allow QEMU to remove hundreds of lines of
manual compilation scripts.

Reviewed-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>python: bump qemu.qmp to v0.0.6</title>
<updated>2026-05-21T11:39:54+00:00</updated>
<author>
<name>John Snow</name>
<email>jsnow@redhat.com</email>
</author>
<published>2026-03-31T20:33:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=400c6b02e896a409801f1b733e8d181cd860cd95'/>
<id>urn:sha1:400c6b02e896a409801f1b733e8d181cd860cd95</id>
<content type='text'>
This release removes some deprecated warnings for our use of the old
sendmsg API on older python versions.

Acked-by: Kevin Wolf &lt;kwolf@redhat.com&gt;
Reviewed-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
Reviewed-by: Pierrick Bouvier &lt;pierrick.bouvier@oss.qualcomm.com&gt;
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Signed-off-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
</content>
</entry>
<entry>
<title>pythondeps: bump to meson 1.11.1</title>
<updated>2026-04-30T13:50:18+00:00</updated>
<author>
<name>Pierrick Bouvier</name>
<email>pierrick.bouvier@oss.qualcomm.com</email>
</author>
<published>2026-04-29T08:34:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=2c86fb811dd6372c7cf8cb14b4a4757d2a08dddb'/>
<id>urn:sha1:2c86fb811dd6372c7cf8cb14b4a4757d2a08dddb</id>
<content type='text'>
Prior to 1.11.0, build with rust didn't use link_args.
In QEMU case, it means that plugins could not work, since they rely on
link_args to expose symbols from QEMU binary.

https://mesonbuild.com/Release-notes-for-1-11-0.html#change-to-handling-of-linker-arguments-for-rust

With this change, QEMU built with --enable-rust can pass all CI tests,
including tests related to plugins.

Suggested-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Pierrick Bouvier &lt;pierrick.bouvier@oss.qualcomm.com&gt;
Reviewed-by: Manos Pitsidianakis &lt;manos.pitsidianakis@linaro.org&gt;
[Move from 1.11.0 to 1.11.1. - Paolo]
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>scripts/vendor.py: add pycotap</title>
<updated>2026-02-27T13:48:04+00:00</updated>
<author>
<name>Marc-André Lureau</name>
<email>marcandre.lureau@redhat.com</email>
</author>
<published>2026-02-11T10:01:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=f08abbae621a9ca239091fe7afad18faad8747c3'/>
<id>urn:sha1:f08abbae621a9ca239091fe7afad18faad8747c3</id>
<content type='text'>
Related to commit 5ec1eec11000ef118b2a87c330245ffaa475f5ee ("python:
Install pycotap in our venv if necessary")

Signed-off-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Reviewed-by: Thomas Huth &lt;thuth@redhat.com&gt;
Link: https://lore.kernel.org/r/20260211-cleanups-v1-3-e63c96572389@redhat.com
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>python: add vendored qemu.qmp package</title>
<updated>2026-02-24T18:11:11+00:00</updated>
<author>
<name>John Snow</name>
<email>jsnow@redhat.com</email>
</author>
<published>2025-10-29T18:22:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=93bf95964c66a6a8ab560b4f5e2b7e6aa816ec51'/>
<id>urn:sha1:93bf95964c66a6a8ab560b4f5e2b7e6aa816ec51</id>
<content type='text'>
In anticipation of deleting the python/qemu/qmp source from the tree,
add a vendored version of the qemu.qmp package to ensure that "make
check" can be run in isolated build environments, offline.

Acked-by: Thomas Huth &lt;thuth@redhat.com&gt;
Message-ID: &lt;20260218213416.674483-13-jsnow@redhat.com&gt;
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/mkvenv: add mechanism to install local package(s)</title>
<updated>2026-02-23T18:24:42+00:00</updated>
<author>
<name>John Snow</name>
<email>jsnow@redhat.com</email>
</author>
<published>2026-02-18T21:34:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=b42ad8ef321da4e0e9bb3c0837ca6bd289d60feb'/>
<id>urn:sha1:b42ad8ef321da4e0e9bb3c0837ca6bd289d60feb</id>
<content type='text'>
Currently, we "implicitly" install the local 'qemu' python package for
'make check-venv' with some logic inside tests/Makefile.include. I would
like to make this installation explicit in pythondeps.toml instead.

This patch adds a path constraint that can be used in lieu of version
constraints to specify that a package should be installed from the
source tree instead of from PyPI or vendored packages. This is done to
allow us to install the python packages hosted inside of the tree while
also processing dependencies; i.e. so that our "qemu" package can
specify that it needs "qemu.qmp", which soon will not be included in
qemu.git.

This also has the benefit of being able to specify in a declarative
configuration file that our pyvenv environment *will* have our local
python packages installed and available without any PYTHONPATH hacks,
which should simplify iotests, device-crash-test and functional tests
without needing to manage local inclusion paths in environment
variables.

On the downsides, installing packages through mkvenv/ensuregroup means
that there are extra steps we need to take in order to install a local
package *offline*; namely we must disable build isolation (so we have
access to setuptools) and we must also include python3-wheel in QEMU's
build dependencies in order for "make check" to run successfully when in
an offline, isolated environment. These extra dependencies are handled
in a forthcoming commit; for now, nothing is utilizing this new pathway.

Reviewed-by: Thomas Huth &lt;thuth@redhat.com&gt;
Message-ID: &lt;20260218213416.674483-6-jsnow@redhat.com&gt;
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/mkvenv: create timestamp file for each group "ensured"</title>
<updated>2026-02-23T18:24:42+00:00</updated>
<author>
<name>John Snow</name>
<email>jsnow@redhat.com</email>
</author>
<published>2026-02-18T21:33:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=6aadbb7e5460f830bfad4ead5a7e9b17836bb7a4'/>
<id>urn:sha1:6aadbb7e5460f830bfad4ead5a7e9b17836bb7a4</id>
<content type='text'>
Each group ensured by the mkvenv script will create an empty timestamp
file named {groupname}.group which can be used to conditionally trigger
dependency installation from various scripts and build machinery.

Reviewed-by: Thomas Huth &lt;thuth@redhat.com&gt;
Message-ID: &lt;20260218213416.674483-3-jsnow@redhat.com&gt;
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python: fix msys64 wheel directory specification</title>
<updated>2026-02-02T06:46:40+00:00</updated>
<author>
<name>John Snow</name>
<email>jsnow@redhat.com</email>
</author>
<published>2026-01-30T05:05:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=587f4a1805c83a4e1d59dd43cb14e0a834843d1d'/>
<id>urn:sha1:587f4a1805c83a4e1d59dd43cb14e0a834843d1d</id>
<content type='text'>
In python3.14, fixes were made to the file URI parsing [1] such that
file URIs that used to work but were technically out of spec are now
broken.

As a result, our msys2 GitLab CI tests began failing.

Stop using "file://" URI links in favor of simple paths (Thanks pbo) to
fix parsing errors under Python 3.14 and fix the msys2 GitLab CI tests.

[1] https://docs.python.org/3/whatsnew/3.14.html#urllib

Reported-by: Pierrick Bouvier &lt;pierrick.bouvier@linaro.org&gt;
Suggested-by: Pierrick Bouvier &lt;pierrick.bouvier@linaro.org&gt;
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Pierrick Bouvier &lt;pierrick.bouvier@linaro.org&gt;
Tested-by: Pierrick Bouvier &lt;pierrick.bouvier@linaro.org&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-ID: &lt;20260130050518.517688-2-jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>bump meson wheel to 1.10.0</title>
<updated>2025-12-27T09:11:11+00:00</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2025-12-04T10:58:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=8c04b6a48b15a478ff3f9d152592a0ba503a31e4'/>
<id>urn:sha1:8c04b6a48b15a478ff3f9d152592a0ba503a31e4</id>
<content type='text'>
This version includes several improvements and bugfixes for Rust.

Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
</feed>
