mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 12:07:31 +00:00 
			
		
		
		
	 c03f57fd5b
			
		
	
	
		c03f57fd5b
		
	
	
	
	
		
			
			This reverts commit e8e4298fea.
ensuregroup allows to specify both the acceptable versions of avocado,
and a locked version to be used when avocado is not installed as a system
pacakge.  This lets us install avocado in pyvenv/ using "mkvenv.py" and
reuse the distro package on Fedora and CentOS Stream (the only distros
where it's available).
ensuregroup's usage of "(>=..., <=...)" constraints when evaluating
the distro package, and "==" constraints when installing it from PyPI,
makes it possible to avoid conflicts between the known-good version and
a package plugins included in the distro.
This is because package plugins have "==" constraints on the version
that is included in the distro, and, using "pip install avocado==88.1"
on a venv that includes system packages will result in an error:
   avocado-framework-plugin-varianter-yaml-to-mux 98.0 requires avocado-framework==98.0, but you have avocado-framework 88.1 which is incompatible.
   avocado-framework-plugin-result-html 98.0 requires avocado-framework==98.0, but you have avocado-framework 88.1 which is incompatible.
But at the same time, if the venv does not include a system distribution
of avocado then we can install a known-good version and stick to LTS
releases.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1663
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
		
	
			
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
| # This file describes Python package requirements to be
 | |
| # installed in the pyvenv Python virtual environment.
 | |
| #
 | |
| # Packages are placed in groups, which are installed using
 | |
| # the ensuregroup subcommand of python/scripts/mkvenv.py.
 | |
| # Each group forms a TOML section and each entry in the
 | |
| # section is a TOML key-value list describing a package.
 | |
| # All fields are optional; valid fields are:
 | |
| #
 | |
| # - accepted: accepted versions when using a system package
 | |
| # - installed: fixed version to install in the virtual environment
 | |
| #              if a system package is not found; if not specified,
 | |
| #              the minimum and maximum
 | |
| # - canary: if specified, use this program name to present more
 | |
| #           precise error diagnostics to the user.  For example,
 | |
| #           'sphinx-build' can be used as a bellwether for the
 | |
| #           presence of 'sphinx' in the system.
 | |
| 
 | |
| [meson]
 | |
| # The install key should match the version in python/wheels/
 | |
| meson = { accepted = ">=0.63.0", installed = "0.63.3", canary = "meson" }
 | |
| 
 | |
| [docs]
 | |
| sphinx = { accepted = ">=1.6", installed = "5.3.0", canary = "sphinx-build" }
 | |
| sphinx_rtd_theme = { accepted = ">=0.5", installed = "1.1.1" }
 | |
| 
 | |
| [avocado]
 | |
| # Note that qemu.git/python/ is always implicitly installed.
 | |
| # Prefer an LTS version when updating the accepted versions of
 | |
| # avocado-framework, for example right now the limit is 92.x.
 | |
| avocado-framework = { accepted = "(>=88.1, <93.0)", installed = "88.1", canary = "avocado" }
 | |
| pycdlib = { accepted = ">=1.11.0" }
 |