On Thu, Feb 11, 2021 at 01:58:38PM -0500, 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. > > 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 <js...@redhat.com> > --- > python/VERSION | 1 + > python/setup.cfg | 1 + > 2 files changed, 2 insertions(+) > create mode 100644 python/VERSION >
Reviewed-by: Cleber Rosa <cr...@redhat.com>
signature.asc
Description: PGP signature