[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 00/13] Support building with py2 or py3
From: |
Daniel P. Berrange |
Subject: |
[Qemu-devel] [PATCH v3 00/13] Support building with py2 or py3 |
Date: |
Mon, 15 Jan 2018 10:26:08 +0000 |
This is an update for my previously posted series:
v2: https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg06528.html
This series enables some level of CI testing for py3 so that our CI jobs will
get coverage of both py2 and py3 builds to avoid bitrot.
I did a test travis build with py 3.0 and py 3.6 and got success:
https://travis-ci.org/berrange/qemu/builds/328223261
The goal was to achieve the following
./configure --python=/usr/bin/python3
make
make check
This still requires passing python path to configure explicitly. A
further improvement would be for configure to automatically detect
a pythjon 3 binary and use it preferentially to python 2.
I have not attempted to fix/validate the block I/O tests. I would expect
them to be broken, but easily fixable with the similar kind of scope
changes as seen here. I felt it better to tackle that separately to
avoid this initial series getting too large.
Although the Python 2 EOL date is 2020, we already have distros which
are not shipping Python 2 by default (Fedora >= 26 has dropped Py2 from
the default install). Any new releases of long life and/or enterprise
distros may well not ship Python 2 given that it would go EOL long
before the EOL of the distro itself. IOW QEMU does have a fairly pressing
need to be able to support Python 3 for building.
A request for py3 is tracked here:
https://bugs.launchpad.net/qemu/+bug/1708462
NB, Patch 10 here is not related to python 3 work - it was just a
temporary pre-requisite of pulling in the keycodemapdb update.
Changes since v2:
- Pull in fix for keycodemapdb
- Enable testing with Travis
- Enable testing with Fedora Docker images
- Fix for sort ordering to fix 'make check-qapi-schema'
- Fix for signrom data
Daniel P. Berrange (12):
qapi: convert to use python print function instead of statement
qapi: use items()/values() intead of iteritems()/itervalues()
qapi: Use OrderedDict from standard library if available
qapi: adapt to moved location of StringIO module in py3
qapi: Adapt to moved location of 'maketrans' function in py3
qapi: remove '-q' arg to diff when comparing QAPI output
qapi: ensure stable sort ordering when checking QAPI entities
scripts: ensure signrom treats data as bytes
configure: allow use of python 3
ui: update keycodemapdb to get py3 fixes
travis: improve python version test coverage
docker: change Fedora images to run with python3
Miika S (1):
input: add missing JIS keys to virtio input
.travis.yml | 14 +++++++----
configure | 5 ++--
hw/input/virtio-input-hid.c | 7 ++++++
qapi/ui.json | 5 +++-
scripts/qapi.py | 43 ++++++++++++++++++++--------------
scripts/qapi2texi.py | 11 +++++----
scripts/signrom.py | 4 ++--
tests/Makefile.include | 6 ++---
tests/docker/dockerfiles/fedora.docker | 3 ++-
tests/qapi-schema/test-qapi.py | 43 +++++++++++++++++-----------------
ui/keycodemapdb | 2 +-
11 files changed, 84 insertions(+), 59 deletions(-)
--
2.14.3
- [Qemu-devel] [PATCH v3 00/13] Support building with py2 or py3,
Daniel P. Berrange <=
- [Qemu-devel] [PATCH v3 01/13] qapi: convert to use python print function instead of statement, Daniel P. Berrange, 2018/01/15
- [Qemu-devel] [PATCH v3 03/13] qapi: Use OrderedDict from standard library if available, Daniel P. Berrange, 2018/01/15
- [Qemu-devel] [PATCH v3 02/13] qapi: use items()/values() intead of iteritems()/itervalues(), Daniel P. Berrange, 2018/01/15
- [Qemu-devel] [PATCH v3 04/13] qapi: adapt to moved location of StringIO module in py3, Daniel P. Berrange, 2018/01/15
- [Qemu-devel] [PATCH v3 05/13] qapi: Adapt to moved location of 'maketrans' function in py3, Daniel P. Berrange, 2018/01/15
- [Qemu-devel] [PATCH v3 06/13] qapi: remove '-q' arg to diff when comparing QAPI output, Daniel P. Berrange, 2018/01/15