[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 03/15] python: add VERSION file

From: John Snow
Subject: Re: [PATCH v2 03/15] python: add VERSION file
Date: Wed, 14 Oct 2020 12:03:13 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0

On 10/14/20 10:29 AM, John Snow wrote:
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
to my knowledge.

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.

See also:


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 core tooling synchronizes with the QEMU version directly
   (5.2.0, 5.1.1, 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. 5.2.0a1, 5.2.0a2, and so on should be preferred prior to 5.2.0's

- 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.core" will always remain in lock-step with QEMU.

- We reserve the right to split out e.g. qemu.core.qmp to qemu.qmp
   and begin indepedently versioning such a package separately from the
   QEMU version it accompanies.

Implement this versioning scheme by adding a VERSION file and setting it
to 5.2.0a1.

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 0000000000..2e81039c82
--- /dev/null
+++ b/python/VERSION
@@ -0,0 +1 @@
diff --git a/python/setup.cfg b/python/setup.cfg
index 12b99a796e..260f7f4e94 100755
--- a/python/setup.cfg
+++ b/python/setup.cfg
@@ -1,5 +1,6 @@
  name = qemu
+version = file:VERSION
  maintainer = QEMU Developer Team
  maintainer_email = qemu-devel@nongnu.org
  url = https://www.qemu.org/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]