* [RFC PATCH] python/setup.py: Drop version checking via pkg_resources
@ 2026-02-11 16:11 Thomas Huth
2026-02-11 16:15 ` Daniel P. Berrangé
0 siblings, 1 reply; 2+ messages in thread
From: Thomas Huth @ 2026-02-11 16:11 UTC (permalink / raw)
To: John Snow, qemu-devel, Peter Maydell
From: Thomas Huth <thuth@redhat.com>
pkg_resources has been dropped from setuptools v82.0 and newer,
so our setup.py script is currently failing there, breaking our CI.
To fix it, switch to a direct version check instead.
While we're at it, also bump the minimum version of setuptools
to v44 now since that is the minimum that might still be in use
on the distros we care about according to:
https://repology.org/project/python%3Asetuptools/versions
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
No clue whether that version check is fine with all versions of
setuptools, thus I marked the patch as RFC. At least it survives
the CI:
https://gitlab.com/thuth/qemu/-/pipelines/2319359396
python/setup.py | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/python/setup.py b/python/setup.py
index c5bc45919a4..ae242ac95ac 100755
--- a/python/setup.py
+++ b/python/setup.py
@@ -7,7 +7,6 @@
import setuptools
from setuptools.command import bdist_egg
import sys
-import pkg_resources
class bdist_egg_guard(bdist_egg.bdist_egg):
@@ -30,8 +29,8 @@ def main():
QEMU tooling installer
"""
- # https://medium.com/@daveshawley/safely-using-setup-cfg-for-metadata-1babbe54c108
- pkg_resources.require('setuptools>=39.2')
+ if int(setuptools.__version__.split('.')[0]) < 44:
+ raise ModuleNotFoundError('version of setuptools is too old')
setuptools.setup(cmdclass={'bdist_egg': bdist_egg_guard})
--
2.53.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [RFC PATCH] python/setup.py: Drop version checking via pkg_resources
2026-02-11 16:11 [RFC PATCH] python/setup.py: Drop version checking via pkg_resources Thomas Huth
@ 2026-02-11 16:15 ` Daniel P. Berrangé
0 siblings, 0 replies; 2+ messages in thread
From: Daniel P. Berrangé @ 2026-02-11 16:15 UTC (permalink / raw)
To: Thomas Huth; +Cc: John Snow, qemu-devel, Peter Maydell
On Wed, Feb 11, 2026 at 05:11:54PM +0100, Thomas Huth wrote:
> From: Thomas Huth <thuth@redhat.com>
>
> pkg_resources has been dropped from setuptools v82.0 and newer,
> so our setup.py script is currently failing there, breaking our CI.
> To fix it, switch to a direct version check instead.
> While we're at it, also bump the minimum version of setuptools
> to v44 now since that is the minimum that might still be in use
> on the distros we care about according to:
> https://repology.org/project/python%3Asetuptools/versions
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> No clue whether that version check is fine with all versions of
> setuptools, thus I marked the patch as RFC. At least it survives
> the CI:
> https://gitlab.com/thuth/qemu/-/pipelines/2319359396
>
> python/setup.py | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
This works so:
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
but the other option discussed on IRC was to remove the
existing version check entirely on the basis that all our
supported platforms will have sufficient version by default
and we don't need to spend time checking for the benefit of
unsupported platforms.
>
> diff --git a/python/setup.py b/python/setup.py
> index c5bc45919a4..ae242ac95ac 100755
> --- a/python/setup.py
> +++ b/python/setup.py
> @@ -7,7 +7,6 @@
> import setuptools
> from setuptools.command import bdist_egg
> import sys
> -import pkg_resources
>
>
> class bdist_egg_guard(bdist_egg.bdist_egg):
> @@ -30,8 +29,8 @@ def main():
> QEMU tooling installer
> """
>
> - # https://medium.com/@daveshawley/safely-using-setup-cfg-for-metadata-1babbe54c108
> - pkg_resources.require('setuptools>=39.2')
> + if int(setuptools.__version__.split('.')[0]) < 44:
> + raise ModuleNotFoundError('version of setuptools is too old')
>
> setuptools.setup(cmdclass={'bdist_egg': bdist_egg_guard})
>
> --
> 2.53.0
>
>
With 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] 2+ messages in thread
end of thread, other threads:[~2026-02-11 16:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-11 16:11 [RFC PATCH] python/setup.py: Drop version checking via pkg_resources Thomas Huth
2026-02-11 16:15 ` Daniel P. Berrangé
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.