[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 24/44] python: add VERSION file
From: |
John Snow |
Subject: |
[PULL 24/44] python: add VERSION file |
Date: |
Thu, 27 May 2021 22:32:00 -0400 |
Python infrastructure as it exists today is not capable reliably of
single-sourcing a package version from a parent directory. The authors
of pip are working to correct this, but as of today this is not possible.
The problem is that when using pip to build and install a python
package, it copies files over to a temporary directory and performs its
build there. This loses access to any information in the parent
directory, including git itself.
Further, Python versions have a standard (PEP 440) that may or may not
follow QEMU's versioning. In general, it does; but naturally QEMU does
not follow PEP 440. To avoid any automatically-generated conflict, a
manual version file is preferred.
I am proposing:
- Python tooling follows the QEMU version, indirectly, but with a major
version of 0 to indicate that the API is not expected to be
stable. This would mean version 0.5.2.0, 0.5.1.1, 0.5.3.0, etc.
- In the event that a Python package needs to be updated independently
of the QEMU version, a pre-release alpha version should be preferred,
but *only* after inclusion to the qemu development or stable branches.
e.g. 0.5.2.0a1, 0.5.2.0a2, and so on should be preferred prior to
5.2.0's release.
- The Python core tooling makes absolutely no version compatibility
checks or constraints. It *may* work with releases of QEMU from the
past or future, but it is not required to.
i.e., "qemu.machine" will, for now, remain in lock-step with QEMU.
- We reserve the right to split the qemu package into independently
versioned subpackages at a later date. This might allow for us to
begin versioning QMP independently from QEMU at a later date, if
we so choose.
Implement this versioning scheme by adding a VERSION file and setting it
to 0.6.0.0a1.
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Message-id: 20210527211715.394144-12-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
---
python/VERSION | 1 +
python/setup.cfg | 1 +
2 files changed, 2 insertions(+)
create mode 100644 python/VERSION
diff --git a/python/VERSION b/python/VERSION
new file mode 100644
index 00000000000..c19f3b832b7
--- /dev/null
+++ b/python/VERSION
@@ -0,0 +1 @@
+0.6.1.0a1
diff --git a/python/setup.cfg b/python/setup.cfg
index 3fa92a2e73f..b0010e0188f 100644
--- a/python/setup.cfg
+++ b/python/setup.cfg
@@ -1,5 +1,6 @@
[metadata]
name = qemu
+version = file:VERSION
maintainer = QEMU Developer Team
maintainer_email = qemu-devel@nongnu.org
url = https://www.qemu.org/
--
2.31.1
- [PULL 13/44] acceptance tests: bump Avocado version to 88.1, (continued)
- [PULL 13/44] acceptance tests: bump Avocado version to 88.1, John Snow, 2021/05/27
- [PULL 15/44] python/machine: use subprocess.DEVNULL instead of open(os.path.devnull), John Snow, 2021/05/27
- [PULL 16/44] python/machine: use subprocess.run instead of subprocess.Popen, John Snow, 2021/05/27
- [PULL 17/44] python/console_socket: Add a pylint ignore, John Snow, 2021/05/27
- [PULL 18/44] python/machine: Disable pylint warning for open() in _pre_launch, John Snow, 2021/05/27
- [PULL 21/44] iotests/297: add --namespace-packages to mypy arguments, John Snow, 2021/05/27
- [PULL 19/44] python/machine: disable warning for Popen in _launch(), John Snow, 2021/05/27
- [PULL 20/44] python/machine: Trim line length to below 80 chars, John Snow, 2021/05/27
- [PULL 22/44] python: create qemu packages, John Snow, 2021/05/27
- [PULL 23/44] python: add qemu package installer, John Snow, 2021/05/27
- [PULL 24/44] python: add VERSION file,
John Snow <=
- [PULL 25/44] python: add directory structure README.rst files, John Snow, 2021/05/27
- [PULL 26/44] python: add MANIFEST.in, John Snow, 2021/05/27
- [PULL 28/44] python: add pylint import exceptions, John Snow, 2021/05/27
- [PULL 29/44] python: move pylintrc into setup.cfg, John Snow, 2021/05/27
- [PULL 27/44] python: Add pipenv support, John Snow, 2021/05/27
- [PULL 30/44] python: add pylint to pipenv, John Snow, 2021/05/27
- [PULL 31/44] python: move flake8 config to setup.cfg, John Snow, 2021/05/27
- [PULL 32/44] python: add excluded dirs to flake8 config, John Snow, 2021/05/27
- [PULL 33/44] python: Add flake8 to pipenv, John Snow, 2021/05/27
- [PULL 34/44] python: move mypy.ini into setup.cfg, John Snow, 2021/05/27