All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v5 00/14]  Support building with py2 or py3
@ 2018-01-16 13:42 Daniel P. Berrange
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 01/14] qapi: convert to use python print function instead of statement Daniel P. Berrange
                   ` (14 more replies)
  0 siblings, 15 replies; 30+ messages in thread
From: Daniel P. Berrange @ 2018-01-16 13:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé,
	Eric Blake, Daniel P. Berrange

This is an update for my previously posted series:

 v2: https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg06528.html
 v3: https://lists.gnu.org/archive/html/qemu-devel/2018-01/msg02978.html
 v4: https://lists.gnu.org/archive/html/qemu-devel/2018-01/msg03150.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

If, rather than supporting py2+py3 in parallel, we wish to entirely drop
py2 support, this series would not change significantly

 - The "from __future__ import print_function" line can be removed
   from patch 1.
 - The code in patches 2, 3, 4 to deal with changed module names
   for a few functions can be simpified to only try the py3 location
 - The travis + docker jobs would be fully updated to install py3,
   or delete jobs which can't support py3

Given how little code is removed should we drop py2 support, I don't
believe it is in our immediate interests to do this. It would create
extra pain for consumers of QEMU, with little benefit to QEMU code
maintainance. The key thing is ensuring our travis+docker jobs provide
satisfactory automated test coverage for the variety of python versions
in the distros we care about targetting.

NB, Patch 11 here is not related to python 3 work - it was just a
temporary pre-requisite of pulling in the keycodemapdb update.

Changes since v4:

 - Fix broken rebase which accidentally squashed first two
   patches together
 - Unset LC_ALL, and set LANG + LC_CTYPE, instead of only LANG (Eric)

Changes since v3:

 - Remove space before '(' in print() function calls (Phillippe)
 - Force use of en_US.UTF-8 for QAPI code generation (Patchew)

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 (13):
  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
  qapi: force a UTF-8 locale for running Python
  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 +++++++----
 Makefile                               | 22 +++++++++--------
 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 +-
 12 files changed, 96 insertions(+), 69 deletions(-)

-- 
2.14.3

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH v5 01/14] qapi: convert to use python print function instead of statement
  2018-01-16 13:42 [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Daniel P. Berrange
@ 2018-01-16 13:42 ` Daniel P. Berrange
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 02/14] qapi: use items()/values() intead of iteritems()/itervalues() Daniel P. Berrange
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 30+ messages in thread
From: Daniel P. Berrange @ 2018-01-16 13:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé,
	Eric Blake, Daniel P. Berrange

Python 3 no longer supports the bare "print" statement, it must be
called as a normal function with round brackets. It is possible to
opt-in to this new syntax with Python 2.6 onwards by importing the
"print_function" from the "__future__" module, making it easy to
support Python 2 and 3 in parallel.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 scripts/qapi.py                | 12 ++++++------
 scripts/qapi2texi.py           |  9 +++++----
 tests/qapi-schema/test-qapi.py | 41 +++++++++++++++++++++--------------------
 3 files changed, 32 insertions(+), 30 deletions(-)

diff --git a/scripts/qapi.py b/scripts/qapi.py
index 43a54bf40f..64fde4b6c5 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -11,6 +11,7 @@
 # This work is licensed under the terms of the GNU GPL, version 2.
 # See the COPYING file in the top-level directory.
 
+from __future__ import print_function
 import errno
 import getopt
 import os
@@ -1467,7 +1468,7 @@ class QAPISchema(object):
             self._def_exprs()
             self.check()
         except QAPIError as err:
-            print >>sys.stderr, err
+            print(err, file=sys.stderr)
             exit(1)
 
     def _def_entity(self, ent):
@@ -1931,7 +1932,7 @@ def parse_command_line(extra_options='', extra_long_options=[]):
                                        ['source', 'header', 'prefix=',
                                         'output-dir='] + extra_long_options)
     except getopt.GetoptError as err:
-        print >>sys.stderr, "%s: %s" % (sys.argv[0], str(err))
+        print("%s: %s" % (sys.argv[0], str(err)), file=sys.stderr)
         sys.exit(1)
 
     output_dir = ''
@@ -1945,9 +1946,8 @@ def parse_command_line(extra_options='', extra_long_options=[]):
         if o in ('-p', '--prefix'):
             match = re.match(r'([A-Za-z_.-][A-Za-z0-9_.-]*)?', a)
             if match.end() != len(a):
-                print >>sys.stderr, \
-                    "%s: 'funny character '%s' in argument of --prefix" \
-                    % (sys.argv[0], a[match.end()])
+                print("%s: 'funny character '%s' in argument of --prefix" \
+                      % (sys.argv[0], a[match.end()]), file=sys.stderr)
                 sys.exit(1)
             prefix = a
         elif o in ('-o', '--output-dir'):
@@ -1964,7 +1964,7 @@ def parse_command_line(extra_options='', extra_long_options=[]):
         do_h = True
 
     if len(args) != 1:
-        print >>sys.stderr, "%s: need exactly one argument" % sys.argv[0]
+        print("%s: need exactly one argument" % sys.argv[0], file=sys.stderr)
         sys.exit(1)
     fname = args[0]
 
diff --git a/scripts/qapi2texi.py b/scripts/qapi2texi.py
index 92e2af2cd6..70e1fe76ef 100755
--- a/scripts/qapi2texi.py
+++ b/scripts/qapi2texi.py
@@ -4,6 +4,7 @@
 # This work is licensed under the terms of the GNU LGPL, version 2+.
 # See the COPYING file in the top-level directory.
 """This script produces the documentation of a qapi schema in texinfo format"""
+from __future__ import print_function
 import re
 import sys
 
@@ -274,15 +275,15 @@ def texi_schema(schema):
 def main(argv):
     """Takes schema argument, prints result to stdout"""
     if len(argv) != 2:
-        print >>sys.stderr, "%s: need exactly 1 argument: SCHEMA" % argv[0]
+        print("%s: need exactly 1 argument: SCHEMA" % argv[0], file=sys.stderr)
         sys.exit(1)
 
     schema = qapi.QAPISchema(argv[1])
     if not qapi.doc_required:
-        print >>sys.stderr, ("%s: need pragma 'doc-required' "
-                             "to generate documentation" % argv[0])
+        print("%s: need pragma 'doc-required' "
+               "to generate documentation" % argv[0], file=sys.stderr)
         sys.exit(1)
-    print texi_schema(schema)
+    print(texi_schema(schema))
 
 
 if __name__ == '__main__':
diff --git a/tests/qapi-schema/test-qapi.py b/tests/qapi-schema/test-qapi.py
index fe0ca08d78..a43fa873e1 100644
--- a/tests/qapi-schema/test-qapi.py
+++ b/tests/qapi-schema/test-qapi.py
@@ -10,6 +10,7 @@
 # See the COPYING file in the top-level directory.
 #
 
+from __future__ import print_function
 from qapi import *
 from pprint import pprint
 import os
@@ -18,51 +19,51 @@ import sys
 
 class QAPISchemaTestVisitor(QAPISchemaVisitor):
     def visit_enum_type(self, name, info, values, prefix):
-        print 'enum %s %s' % (name, values)
+        print('enum %s %s' % (name, values))
         if prefix:
-            print '    prefix %s' % prefix
+            print('    prefix %s' % prefix)
 
     def visit_object_type(self, name, info, base, members, variants):
-        print 'object %s' % name
+        print('object %s' % name)
         if base:
-            print '    base %s' % base.name
+            print('    base %s' % base.name)
         for m in members:
-            print '    member %s: %s optional=%s' % \
-                (m.name, m.type.name, m.optional)
+            print('    member %s: %s optional=%s' % \
+                  (m.name, m.type.name, m.optional))
         self._print_variants(variants)
 
     def visit_alternate_type(self, name, info, variants):
-        print 'alternate %s' % name
+        print('alternate %s' % name)
         self._print_variants(variants)
 
     def visit_command(self, name, info, arg_type, ret_type,
                       gen, success_response, boxed):
-        print 'command %s %s -> %s' % \
-            (name, arg_type and arg_type.name, ret_type and ret_type.name)
-        print '   gen=%s success_response=%s boxed=%s' % \
-            (gen, success_response, boxed)
+        print('command %s %s -> %s' % \
+              (name, arg_type and arg_type.name, ret_type and ret_type.name))
+        print('   gen=%s success_response=%s boxed=%s' % \
+              (gen, success_response, boxed))
 
     def visit_event(self, name, info, arg_type, boxed):
-        print 'event %s %s' % (name, arg_type and arg_type.name)
-        print '   boxed=%s' % boxed
+        print('event %s %s' % (name, arg_type and arg_type.name))
+        print('   boxed=%s' % boxed)
 
     @staticmethod
     def _print_variants(variants):
         if variants:
-            print '    tag %s' % variants.tag_member.name
+            print('    tag %s' % variants.tag_member.name)
             for v in variants.variants:
-                print '    case %s: %s' % (v.name, v.type.name)
+                print('    case %s: %s' % (v.name, v.type.name))
 
 schema = QAPISchema(sys.argv[1])
 schema.visit(QAPISchemaTestVisitor())
 
 for doc in schema.docs:
     if doc.symbol:
-        print 'doc symbol=%s' % doc.symbol
+        print('doc symbol=%s' % doc.symbol)
     else:
-        print 'doc freeform'
-    print '    body=\n%s' % doc.body.text
+        print('doc freeform')
+    print('    body=\n%s' % doc.body.text)
     for arg, section in doc.args.iteritems():
-        print '    arg=%s\n%s' % (arg, section.text)
+        print('    arg=%s\n%s' % (arg, section.text))
     for section in doc.sections:
-        print '    section=%s\n%s' % (section.name, section.text)
+        print('    section=%s\n%s' % (section.name, section.text))
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH v5 02/14] qapi: use items()/values() intead of iteritems()/itervalues()
  2018-01-16 13:42 [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Daniel P. Berrange
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 01/14] qapi: convert to use python print function instead of statement Daniel P. Berrange
@ 2018-01-16 13:42 ` Daniel P. Berrange
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 03/14] qapi: Use OrderedDict from standard library if available Daniel P. Berrange
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 30+ messages in thread
From: Daniel P. Berrange @ 2018-01-16 13:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé,
	Eric Blake, Daniel P. Berrange

The iteritems()/itervalues() methods are gone in py3, but the
items()/values() methods are still around. The latter are less
efficient than the former in py2, but this has unmeasurably
small impact on QEMU build time, so taking portability over
efficiency is a net win.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 scripts/qapi.py                | 12 ++++++------
 scripts/qapi2texi.py           |  2 +-
 tests/qapi-schema/test-qapi.py |  2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/scripts/qapi.py b/scripts/qapi.py
index 64fde4b6c5..98d7123d27 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -245,7 +245,7 @@ class QAPIDoc(object):
                                "'Returns:' is only valid for commands")
 
     def check(self):
-        bogus = [name for name, section in self.args.iteritems()
+        bogus = [name for name, section in self.args.items()
                  if not section.member]
         if bogus:
             raise QAPISemError(
@@ -300,7 +300,7 @@ class QAPISchemaParser(object):
                 if not isinstance(pragma, dict):
                     raise QAPISemError(
                         info, "Value of 'pragma' must be a dictionary")
-                for name, value in pragma.iteritems():
+                for name, value in pragma.items():
                     self._pragma(name, value, info)
             else:
                 expr_elem = {'expr': expr,
@@ -1566,7 +1566,7 @@ class QAPISchema(object):
 
     def _make_members(self, data, info):
         return [self._make_member(key, value, info)
-                for (key, value) in data.iteritems()]
+                for (key, value) in data.items()]
 
     def _def_struct_type(self, expr, info, doc):
         name = expr['struct']
@@ -1598,11 +1598,11 @@ class QAPISchema(object):
                 name, info, doc, 'base', self._make_members(base, info)))
         if tag_name:
             variants = [self._make_variant(key, value)
-                        for (key, value) in data.iteritems()]
+                        for (key, value) in data.items()]
             members = []
         else:
             variants = [self._make_simple_variant(key, value, info)
-                        for (key, value) in data.iteritems()]
+                        for (key, value) in data.items()]
             typ = self._make_implicit_enum_type(name, info,
                                                 [v.name for v in variants])
             tag_member = QAPISchemaObjectTypeMember('type', typ, False)
@@ -1617,7 +1617,7 @@ class QAPISchema(object):
         name = expr['alternate']
         data = expr['data']
         variants = [self._make_variant(key, value)
-                    for (key, value) in data.iteritems()]
+                    for (key, value) in data.items()]
         tag_member = QAPISchemaObjectTypeMember('type', 'QType', False)
         self._def_entity(
             QAPISchemaAlternateType(name, info, doc,
diff --git a/scripts/qapi2texi.py b/scripts/qapi2texi.py
index 70e1fe76ef..bf1c57b2e2 100755
--- a/scripts/qapi2texi.py
+++ b/scripts/qapi2texi.py
@@ -146,7 +146,7 @@ def texi_member(member, suffix=''):
 def texi_members(doc, what, base, variants, member_func):
     """Format the table of members"""
     items = ''
-    for section in doc.args.itervalues():
+    for section in doc.args.values():
         # TODO Drop fallbacks when undocumented members are outlawed
         if section.text:
             desc = texi_format(section.text)
diff --git a/tests/qapi-schema/test-qapi.py b/tests/qapi-schema/test-qapi.py
index a43fa873e1..ac43d3458e 100644
--- a/tests/qapi-schema/test-qapi.py
+++ b/tests/qapi-schema/test-qapi.py
@@ -63,7 +63,7 @@ for doc in schema.docs:
     else:
         print('doc freeform')
     print('    body=\n%s' % doc.body.text)
-    for arg, section in doc.args.iteritems():
+    for arg, section in doc.args.items():
         print('    arg=%s\n%s' % (arg, section.text))
     for section in doc.sections:
         print('    section=%s\n%s' % (section.name, section.text))
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH v5 03/14] qapi: Use OrderedDict from standard library if available
  2018-01-16 13:42 [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Daniel P. Berrange
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 01/14] qapi: convert to use python print function instead of statement Daniel P. Berrange
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 02/14] qapi: use items()/values() intead of iteritems()/itervalues() Daniel P. Berrange
@ 2018-01-16 13:42 ` Daniel P. Berrange
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 04/14] qapi: adapt to moved location of StringIO module in py3 Daniel P. Berrange
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 30+ messages in thread
From: Daniel P. Berrange @ 2018-01-16 13:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé,
	Eric Blake, Daniel P. Berrange

The OrderedDict class appeared in the 'collections' module
from python 2.7 onwards, so use that in preference to our
local backport if available.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 scripts/qapi.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/scripts/qapi.py b/scripts/qapi.py
index 98d7123d27..514b7bb5a4 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -18,7 +18,10 @@ import os
 import re
 import string
 import sys
-from ordereddict import OrderedDict
+try:
+    from collections import OrderedDict
+except:
+    from ordereddict import OrderedDict
 
 builtin_types = {
     'null':     'QTYPE_QNULL',
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH v5 04/14] qapi: adapt to moved location of StringIO module in py3
  2018-01-16 13:42 [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Daniel P. Berrange
                   ` (2 preceding siblings ...)
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 03/14] qapi: Use OrderedDict from standard library if available Daniel P. Berrange
@ 2018-01-16 13:42 ` Daniel P. Berrange
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 05/14] qapi: Adapt to moved location of 'maketrans' function " Daniel P. Berrange
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 30+ messages in thread
From: Daniel P. Berrange @ 2018-01-16 13:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé,
	Eric Blake, Daniel P. Berrange

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 scripts/qapi.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/scripts/qapi.py b/scripts/qapi.py
index 514b7bb5a4..514cca44bf 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -22,6 +22,10 @@ try:
     from collections import OrderedDict
 except:
     from ordereddict import OrderedDict
+try:
+    from StringIO import StringIO
+except ImportError:
+    from io import StringIO
 
 builtin_types = {
     'null':     'QTYPE_QNULL',
@@ -1995,8 +1999,7 @@ def open_output(output_dir, do_c, do_h, prefix, c_file, h_file,
         if really:
             return open(name, opt)
         else:
-            import StringIO
-            return StringIO.StringIO()
+            return StringIO()
 
     fdef = maybe_open(do_c, c_file, 'w')
     fdecl = maybe_open(do_h, h_file, 'w')
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH v5 05/14] qapi: Adapt to moved location of 'maketrans' function in py3
  2018-01-16 13:42 [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Daniel P. Berrange
                   ` (3 preceding siblings ...)
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 04/14] qapi: adapt to moved location of StringIO module in py3 Daniel P. Berrange
@ 2018-01-16 13:42 ` Daniel P. Berrange
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 06/14] qapi: remove '-q' arg to diff when comparing QAPI output Daniel P. Berrange
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 30+ messages in thread
From: Daniel P. Berrange @ 2018-01-16 13:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé,
	Eric Blake, Daniel P. Berrange

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 scripts/qapi.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/scripts/qapi.py b/scripts/qapi.py
index 514cca44bf..1fdd189c0d 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -1734,7 +1734,10 @@ def c_enum_const(type_name, const_name, prefix=None):
         type_name = prefix
     return camel_to_upper(type_name) + '_' + c_name(const_name, False).upper()
 
-c_name_trans = string.maketrans('.-', '__')
+if hasattr(str, 'maketrans'):
+    c_name_trans = str.maketrans('.-', '__')
+else:
+    c_name_trans = string.maketrans('.-', '__')
 
 
 # Map @name to a valid C identifier.
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH v5 06/14] qapi: remove '-q' arg to diff when comparing QAPI output
  2018-01-16 13:42 [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Daniel P. Berrange
                   ` (4 preceding siblings ...)
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 05/14] qapi: Adapt to moved location of 'maketrans' function " Daniel P. Berrange
@ 2018-01-16 13:42 ` Daniel P. Berrange
  2018-02-09 23:39   ` Eric Blake
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 07/14] qapi: ensure stable sort ordering when checking QAPI entities Daniel P. Berrange
                   ` (8 subsequent siblings)
  14 siblings, 1 reply; 30+ messages in thread
From: Daniel P. Berrange @ 2018-01-16 13:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé,
	Eric Blake, Daniel P. Berrange

When the qapi schema tests fail they merely print that the expected
output didn't match the actual output. This is largely useless when
trying diagnose what went wrong. Removing the '-q' arg to diff
means that it is still silent on successful tests, but when it
fails we'll see details of the incorrect output.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 tests/Makefile.include | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/Makefile.include b/tests/Makefile.include
index 39a4b5359d..d65fb4e1b3 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -908,10 +908,10 @@ $(patsubst %, check-%, $(check-qapi-schema-y)): check-%.json: $(SRC_PATH)/%.json
 		$^ >$*.test.out 2>$*.test.err; \
 		echo $$? >$*.test.exit, \
 		"TEST","$*.out")
-	@diff -q $(SRC_PATH)/$*.out $*.test.out
+	@diff $(SRC_PATH)/$*.out $*.test.out
 	@# Sanitize error messages (make them independent of build directory)
-	@perl -p -e 's|\Q$(SRC_PATH)\E/||g' $*.test.err | diff -q $(SRC_PATH)/$*.err -
-	@diff -q $(SRC_PATH)/$*.exit $*.test.exit
+	@perl -p -e 's|\Q$(SRC_PATH)\E/||g' $*.test.err | diff $(SRC_PATH)/$*.err -
+	@diff $(SRC_PATH)/$*.exit $*.test.exit
 
 .PHONY: check-tests/qapi-schema/doc-good.texi
 check-tests/qapi-schema/doc-good.texi: tests/qapi-schema/doc-good.test.texi
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH v5 07/14] qapi: ensure stable sort ordering when checking QAPI entities
  2018-01-16 13:42 [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Daniel P. Berrange
                   ` (5 preceding siblings ...)
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 06/14] qapi: remove '-q' arg to diff when comparing QAPI output Daniel P. Berrange
@ 2018-01-16 13:42 ` Daniel P. Berrange
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 08/14] qapi: force a UTF-8 locale for running Python Daniel P. Berrange
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 30+ messages in thread
From: Daniel P. Berrange @ 2018-01-16 13:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé,
	Eric Blake, Daniel P. Berrange

Some early python 3.x versions will have different default
ordering when calling the 'values()' method on a dict, compared
to python 2.x and later 3.x versions. Explicitly sort the items
to get a stable ordering.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 scripts/qapi.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/qapi.py b/scripts/qapi.py
index 1fdd189c0d..58f995b07f 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -1678,7 +1678,7 @@ class QAPISchema(object):
                 assert False
 
     def check(self):
-        for ent in self._entity_dict.values():
+        for (name, ent) in sorted(self._entity_dict.items()):
             ent.check(self)
 
     def visit(self, visitor):
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH v5 08/14] qapi: force a UTF-8 locale for running Python
  2018-01-16 13:42 [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Daniel P. Berrange
                   ` (6 preceding siblings ...)
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 07/14] qapi: ensure stable sort ordering when checking QAPI entities Daniel P. Berrange
@ 2018-01-16 13:42 ` Daniel P. Berrange
  2018-01-16 14:45   ` Eric Blake
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 09/14] scripts: ensure signrom treats data as bytes Daniel P. Berrange
                   ` (6 subsequent siblings)
  14 siblings, 1 reply; 30+ messages in thread
From: Daniel P. Berrange @ 2018-01-16 13:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé,
	Eric Blake, Daniel P. Berrange

Python2 did not validate locale correctness when reading input data, so
would happily read UTF-8 data in non-UTF-8 locales. Python3 is strict so
if you try to read UTF-8 data in the C locale, it will raise an error
for any UTF-8 bytes that aren't representable in 7-bit ascii encoding.
e.g.

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 54: ordinal not in range(128)
Traceback (most recent call last):
  File "/tmp/qemu-test/src/scripts/qapi-commands.py", line 317, in <module>
    schema = QAPISchema(input_file)
  File "/tmp/qemu-test/src/scripts/qapi.py", line 1468, in __init__
    parser = QAPISchemaParser(open(fname, 'r'))
  File "/tmp/qemu-test/src/scripts/qapi.py", line 301, in __init__
    previously_included)
  File "/tmp/qemu-test/src/scripts/qapi.py", line 348, in _include
    exprs_include = QAPISchemaParser(fobj, previously_included, info)
  File "/tmp/qemu-test/src/scripts/qapi.py", line 271, in __init__
    self.src = fp.read()
  File "/usr/lib64/python3.5/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]

More background on this can be seen in

  https://www.python.org/dev/peps/pep-0538/

Many distros support a new C.UTF-8 locale that is like the C locale,
but with UTF-8 instead of 7-bit ASCII. That is not entirely portable
though. This patch thus sets the LANG to "C", but overrides LC_CTYPE
to be en_US.UTF-8 locale. This gets us pretty close to C.UTF-8, but
in a way that should be portable to everywhere QEMU builds.

This patch only forces UTF-8 for QAPI scripts, since that is the one
showing the immediate error under Python3 with C locale, but potentially
we ought to force this for all python scripts used in the build process.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 Makefile | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/Makefile b/Makefile
index d86ecd2dd4..63767bb11f 100644
--- a/Makefile
+++ b/Makefile
@@ -17,6 +17,8 @@ ifneq ($(wildcard config-host.mak),)
 all:
 include config-host.mak
 
+PYTHON_UTF8 = LC_ALL= LANG=C LC_CTYPE=en_US.UTF-8 $(PYTHON)
+
 git-submodule-update:
 
 .PHONY: git-submodule-update
@@ -471,17 +473,17 @@ qapi-py = $(SRC_PATH)/scripts/qapi.py $(SRC_PATH)/scripts/ordereddict.py
 
 qga/qapi-generated/qga-qapi-types.c qga/qapi-generated/qga-qapi-types.h :\
 $(SRC_PATH)/qga/qapi-schema.json $(SRC_PATH)/scripts/qapi-types.py $(qapi-py)
-	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-types.py \
+	$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-types.py \
 		$(gen-out-type) -o qga/qapi-generated -p "qga-" $<, \
 		"GEN","$@")
 qga/qapi-generated/qga-qapi-visit.c qga/qapi-generated/qga-qapi-visit.h :\
 $(SRC_PATH)/qga/qapi-schema.json $(SRC_PATH)/scripts/qapi-visit.py $(qapi-py)
-	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-visit.py \
+	$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-visit.py \
 		$(gen-out-type) -o qga/qapi-generated -p "qga-" $<, \
 		"GEN","$@")
 qga/qapi-generated/qga-qmp-commands.h qga/qapi-generated/qga-qmp-marshal.c :\
 $(SRC_PATH)/qga/qapi-schema.json $(SRC_PATH)/scripts/qapi-commands.py $(qapi-py)
-	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-commands.py \
+	$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-commands.py \
 		$(gen-out-type) -o qga/qapi-generated -p "qga-" $<, \
 		"GEN","$@")
 
@@ -502,27 +504,27 @@ qapi-modules = $(SRC_PATH)/qapi-schema.json $(SRC_PATH)/qapi/common.json \
 
 qapi-types.c qapi-types.h :\
 $(qapi-modules) $(SRC_PATH)/scripts/qapi-types.py $(qapi-py)
-	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-types.py \
+	$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-types.py \
 		$(gen-out-type) -o "." -b $<, \
 		"GEN","$@")
 qapi-visit.c qapi-visit.h :\
 $(qapi-modules) $(SRC_PATH)/scripts/qapi-visit.py $(qapi-py)
-	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-visit.py \
+	$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-visit.py \
 		$(gen-out-type) -o "." -b $<, \
 		"GEN","$@")
 qapi-event.c qapi-event.h :\
 $(qapi-modules) $(SRC_PATH)/scripts/qapi-event.py $(qapi-py)
-	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-event.py \
+	$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-event.py \
 		$(gen-out-type) -o "." $<, \
 		"GEN","$@")
 qmp-commands.h qmp-marshal.c :\
 $(qapi-modules) $(SRC_PATH)/scripts/qapi-commands.py $(qapi-py)
-	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-commands.py \
+	$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-commands.py \
 		$(gen-out-type) -o "." $<, \
 		"GEN","$@")
 qmp-introspect.h qmp-introspect.c :\
 $(qapi-modules) $(SRC_PATH)/scripts/qapi-introspect.py $(qapi-py)
-	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-introspect.py \
+	$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi-introspect.py \
 		$(gen-out-type) -o "." $<, \
 		"GEN","$@")
 
@@ -792,10 +794,10 @@ qemu-img-cmds.texi: $(SRC_PATH)/qemu-img-cmds.hx $(SRC_PATH)/scripts/hxtool
 docs/interop/qemu-qmp-qapi.texi docs/interop/qemu-ga-qapi.texi: $(SRC_PATH)/scripts/qapi2texi.py $(qapi-py)
 
 docs/interop/qemu-qmp-qapi.texi: $(qapi-modules)
-	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi2texi.py $< > $@,"GEN","$@")
+	$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi2texi.py $< > $@,"GEN","$@")
 
 docs/interop/qemu-ga-qapi.texi: $(SRC_PATH)/qga/qapi-schema.json
-	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi2texi.py $< > $@,"GEN","$@")
+	$(call quiet-command,$(PYTHON_UTF8) $(SRC_PATH)/scripts/qapi2texi.py $< > $@,"GEN","$@")
 
 qemu.1: qemu-doc.texi qemu-options.texi qemu-monitor.texi qemu-monitor-info.texi
 qemu.1: qemu-option-trace.texi
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH v5 09/14] scripts: ensure signrom treats data as bytes
  2018-01-16 13:42 [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Daniel P. Berrange
                   ` (7 preceding siblings ...)
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 08/14] qapi: force a UTF-8 locale for running Python Daniel P. Berrange
@ 2018-01-16 13:42 ` Daniel P. Berrange
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 10/14] configure: allow use of python 3 Daniel P. Berrange
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 30+ messages in thread
From: Daniel P. Berrange @ 2018-01-16 13:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé,
	Eric Blake, Daniel P. Berrange

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 scripts/signrom.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/signrom.py b/scripts/signrom.py
index d1dabe0240..0497a1c32e 100644
--- a/scripts/signrom.py
+++ b/scripts/signrom.py
@@ -18,7 +18,7 @@ fin = open(sys.argv[1], 'rb')
 fout = open(sys.argv[2], 'wb')
 
 magic = fin.read(2)
-if magic != '\x55\xaa':
+if magic != b'\x55\xaa':
     sys.exit("%s: option ROM does not begin with magic 55 aa" % sys.argv[1])
 
 size_byte = ord(fin.read(1))
@@ -33,7 +33,7 @@ elif len(data) < size:
     # Add padding if necessary, rounding the whole input to a multiple of
     # 512 bytes according to the third byte of the input.
     # size-1 because a final byte is added below to store the checksum.
-    data = data.ljust(size-1, '\0')
+    data = data.ljust(size-1, b'\0')
 else:
     if ord(data[-1:]) != 0:
         sys.stderr.write('WARNING: ROM includes nonzero checksum\n')
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH v5 10/14] configure: allow use of python 3
  2018-01-16 13:42 [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Daniel P. Berrange
                   ` (8 preceding siblings ...)
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 09/14] scripts: ensure signrom treats data as bytes Daniel P. Berrange
@ 2018-01-16 13:42 ` Daniel P. Berrange
  2018-01-16 14:51   ` Eric Blake
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 11/14] input: add missing JIS keys to virtio input Daniel P. Berrange
                   ` (4 subsequent siblings)
  14 siblings, 1 reply; 30+ messages in thread
From: Daniel P. Berrange @ 2018-01-16 13:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé,
	Eric Blake, Daniel P. Berrange

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 configure | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/configure b/configure
index b272a0336b..60b99f45f6 100755
--- a/configure
+++ b/configure
@@ -1598,9 +1598,8 @@ fi
 
 # Note that if the Python conditional here evaluates True we will exit
 # with status 1 which is a shell 'false' value.
-if ! $python -c 'import sys; sys.exit(sys.version_info < (2,6) or sys.version_info >= (3,))'; then
-  error_exit "Cannot use '$python', Python 2.6 or later is required." \
-      "Note that Python 3 or later is not yet supported." \
+if ! $python -c 'import sys; sys.exit(sys.version_info < (2,6))'; then
+  error_exit "Cannot use '$python', Python 2 >= 2.6 or Python 3 is required." \
       "Use --python=/path/to/python to specify a supported Python."
 fi
 
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH v5 11/14] input: add missing JIS keys to virtio input
  2018-01-16 13:42 [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Daniel P. Berrange
                   ` (9 preceding siblings ...)
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 10/14] configure: allow use of python 3 Daniel P. Berrange
@ 2018-01-16 13:42 ` Daniel P. Berrange
  2018-01-16 14:54   ` Eric Blake
  2018-02-01 20:46   ` Eduardo Habkost
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 12/14] ui: update keycodemapdb to get py3 fixes Daniel P. Berrange
                   ` (3 subsequent siblings)
  14 siblings, 2 replies; 30+ messages in thread
From: Daniel P. Berrange @ 2018-01-16 13:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé,
	Eric Blake, Miika S

From: Miika S <miika9764@gmail.com>

keycodemapdb updated to add the QKeyCodes muhenkan and katakanahiragana

Signed-off-by: Miika S <miika9764@gmail.com>
---
 hw/input/virtio-input-hid.c | 7 +++++++
 qapi/ui.json                | 5 ++++-
 ui/keycodemapdb             | 2 +-
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/hw/input/virtio-input-hid.c b/hw/input/virtio-input-hid.c
index e78faec0b1..9628d289f9 100644
--- a/hw/input/virtio-input-hid.c
+++ b/hw/input/virtio-input-hid.c
@@ -139,6 +139,13 @@ static const unsigned int keymap_qcode[Q_KEY_CODE__MAX] = {
     [Q_KEY_CODE_META_L]              = KEY_LEFTMETA,
     [Q_KEY_CODE_META_R]              = KEY_RIGHTMETA,
     [Q_KEY_CODE_MENU]                = KEY_MENU,
+
+    [Q_KEY_CODE_MUHENKAN]            = KEY_MUHENKAN,
+    [Q_KEY_CODE_HENKAN]              = KEY_HENKAN,
+    [Q_KEY_CODE_KATAKANAHIRAGANA]    = KEY_KATAKANAHIRAGANA,
+    [Q_KEY_CODE_COMPOSE]             = KEY_COMPOSE,
+    [Q_KEY_CODE_RO]                  = KEY_RO,
+    [Q_KEY_CODE_YEN]                 = KEY_YEN,
 };
 
 static const unsigned int keymap_button[INPUT_BUTTON__MAX] = {
diff --git a/qapi/ui.json b/qapi/ui.json
index 07b468f625..d6679aa8f5 100644
--- a/qapi/ui.json
+++ b/qapi/ui.json
@@ -748,6 +748,9 @@
 # @ac_bookmarks: since 2.10
 # altgr, altgr_r: dropped in 2.10
 #
+# @muhenkan: since 2.12
+# @katakanahiragana: since 2.12
+#
 # 'sysrq' was mistakenly added to hack around the fact that
 # the ps2 driver was not generating correct scancodes sequences
 # when 'alt+print' was pressed. This flaw is now fixed and the
@@ -775,7 +778,7 @@
             'left', 'up', 'down', 'right', 'insert', 'delete', 'stop', 'again',
             'props', 'undo', 'front', 'copy', 'open', 'paste', 'find', 'cut',
             'lf', 'help', 'meta_l', 'meta_r', 'compose', 'pause',
-            'ro', 'hiragana', 'henkan', 'yen',
+            'ro', 'hiragana', 'henkan', 'yen', 'muhenkan', 'katakanahiragana',
             'kp_comma', 'kp_equals', 'power', 'sleep', 'wake',
             'audionext', 'audioprev', 'audiostop', 'audioplay', 'audiomute',
             'volumeup', 'volumedown', 'mediaselect',
diff --git a/ui/keycodemapdb b/ui/keycodemapdb
index 10739aa260..05dad417e9 160000
--- a/ui/keycodemapdb
+++ b/ui/keycodemapdb
@@ -1 +1 @@
-Subproject commit 10739aa26051a5d49d88132604539d3ed085e72e
+Subproject commit 05dad417e9d0b37ee1fba33056d91a6b734b3357
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH v5 12/14] ui: update keycodemapdb to get py3 fixes
  2018-01-16 13:42 [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Daniel P. Berrange
                   ` (10 preceding siblings ...)
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 11/14] input: add missing JIS keys to virtio input Daniel P. Berrange
@ 2018-01-16 13:42 ` Daniel P. Berrange
  2018-01-16 14:56   ` Eric Blake
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 13/14] travis: improve python version test coverage Daniel P. Berrange
                   ` (2 subsequent siblings)
  14 siblings, 1 reply; 30+ messages in thread
From: Daniel P. Berrange @ 2018-01-16 13:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé,
	Eric Blake, Daniel P. Berrange

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 ui/keycodemapdb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ui/keycodemapdb b/ui/keycodemapdb
index 05dad417e9..6b3d716e2b 160000
--- a/ui/keycodemapdb
+++ b/ui/keycodemapdb
@@ -1 +1 @@
-Subproject commit 05dad417e9d0b37ee1fba33056d91a6b734b3357
+Subproject commit 6b3d716e2b6472eb7189d3220552280ef3d832ce
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH v5 13/14] travis: improve python version test coverage
  2018-01-16 13:42 [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Daniel P. Berrange
                   ` (11 preceding siblings ...)
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 12/14] ui: update keycodemapdb to get py3 fixes Daniel P. Berrange
@ 2018-01-16 13:42 ` Daniel P. Berrange
  2018-05-31 16:09   ` Philippe Mathieu-Daudé
  2018-05-31 20:17   ` Alex Bennée
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 14/14] docker: change Fedora images to run with python3 Daniel P. Berrange
  2018-01-19 17:09 ` [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Eduardo Habkost
  14 siblings, 2 replies; 30+ messages in thread
From: Daniel P. Berrange @ 2018-01-16 13:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé,
	Eric Blake, Daniel P. Berrange

Currently travis declares ancient python 2.4 is desired. Update that to
2.6 which is the oldest version any targetted distros still needs. If we
just list a python 3 version at the top level this will double the
number of travis jobs we run which is unreasonable.

So arbitrarily pick the clang test matrix entries to build with python
3.0 and 3.6, to extend coverage of python versions, without increasing
job count or build time.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 .travis.yml | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index f583839755..708c886017 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,7 @@
 sudo: false
 language: c
 python:
-  - "2.4"
+  - "2.6"
 compiler:
   - gcc
 cache: ccache
@@ -115,15 +115,17 @@ matrix:
         - sudo apt-get build-dep -qq qemu
         - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
         - git submodule update --init --recursive
-    # Trusty System build with latest stable clang
+    # Trusty System build with latest stable clang & python 3.0
     - sudo: required
       addons:
       dist: trusty
       language: generic
       compiler: none
+      python:
+        - "3.0"
       env:
         - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
-        - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9"
+        - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3"
       before_install:
         - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
         - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
@@ -134,15 +136,17 @@ matrix:
         - git submodule update --init --recursive
       before_script:
         - ./configure ${CONFIG} || cat config.log
-    # Trusty Linux User build with latest stable clang
+    # Trusty Linux User build with latest stable clang & python 3.6
     - sudo: required
       addons:
       dist: trusty
       language: generic
       compiler: none
+      python:
+        - "3.6"
       env:
         - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
-        - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9"
+        - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3"
       before_install:
         - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
         - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH v5 14/14] docker: change Fedora images to run with python3
  2018-01-16 13:42 [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Daniel P. Berrange
                   ` (12 preceding siblings ...)
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 13/14] travis: improve python version test coverage Daniel P. Berrange
@ 2018-01-16 13:42 ` Daniel P. Berrange
  2018-01-19 17:09 ` [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Eduardo Habkost
  14 siblings, 0 replies; 30+ messages in thread
From: Daniel P. Berrange @ 2018-01-16 13:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé,
	Eric Blake, Daniel P. Berrange

Fedora has switched to Python 3 by default, so it makes sense to use that
for testing QEMU builds, so we get testing of Python 3 compatibility.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 tests/docker/dockerfiles/fedora.docker | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index 4b26c3aded..a22fe16157 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -1,6 +1,6 @@
 FROM fedora:latest
 ENV PACKAGES \
-    ccache gettext git tar PyYAML sparse flex bison python2 bzip2 hostname \
+    ccache gettext git tar PyYAML sparse flex bison python3 bzip2 hostname \
     glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel \
     gcc gcc-c++ clang make perl which bc findutils libaio-devel \
     nettle-devel \
@@ -12,6 +12,7 @@ ENV PACKAGES \
     mingw64-gtk2 mingw64-gtk3 mingw64-gnutls mingw64-nettle mingw64-libtasn1 \
     mingw64-libjpeg-turbo mingw64-libpng mingw64-curl mingw64-libssh2 \
     mingw64-bzip2
+ENV QEMU_CONFIGURE_OPTS --python=/usr/bin/python3
 
 RUN dnf install -y $PACKAGES
 RUN rpm -q $PACKAGES | sort > /packages.txt
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PATCH v5 08/14] qapi: force a UTF-8 locale for running Python
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 08/14] qapi: force a UTF-8 locale for running Python Daniel P. Berrange
@ 2018-01-16 14:45   ` Eric Blake
  0 siblings, 0 replies; 30+ messages in thread
From: Eric Blake @ 2018-01-16 14:45 UTC (permalink / raw)
  To: Daniel P. Berrange, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé

[-- Attachment #1: Type: text/plain, Size: 1289 bytes --]

On 01/16/2018 07:42 AM, Daniel P. Berrange wrote:
> Python2 did not validate locale correctness when reading input data, so
> would happily read UTF-8 data in non-UTF-8 locales. Python3 is strict so
> if you try to read UTF-8 data in the C locale, it will raise an error
> for any UTF-8 bytes that aren't representable in 7-bit ascii encoding.
> e.g.
> 

> 
> Many distros support a new C.UTF-8 locale that is like the C locale,
> but with UTF-8 instead of 7-bit ASCII. That is not entirely portable
> though. This patch thus sets the LANG to "C", but overrides LC_CTYPE
> to be en_US.UTF-8 locale. This gets us pretty close to C.UTF-8, but
> in a way that should be portable to everywhere QEMU builds.
> 
> This patch only forces UTF-8 for QAPI scripts, since that is the one
> showing the immediate error under Python3 with C locale, but potentially
> we ought to force this for all python scripts used in the build process.
> 
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
>  Makefile | 22 ++++++++++++----------
>  1 file changed, 12 insertions(+), 10 deletions(-)

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PATCH v5 10/14] configure: allow use of python 3
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 10/14] configure: allow use of python 3 Daniel P. Berrange
@ 2018-01-16 14:51   ` Eric Blake
  0 siblings, 0 replies; 30+ messages in thread
From: Eric Blake @ 2018-01-16 14:51 UTC (permalink / raw)
  To: Daniel P. Berrange, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé

[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]

On 01/16/2018 07:42 AM, Daniel P. Berrange wrote:
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
>  configure | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 

Reviewed-by: Eric Blake <eblake@redhat.com>

Presumably, you tested with this patch first in the series to come up
with patches 1-9 ;)

> diff --git a/configure b/configure
> index b272a0336b..60b99f45f6 100755
> --- a/configure
> +++ b/configure
> @@ -1598,9 +1598,8 @@ fi
>  
>  # Note that if the Python conditional here evaluates True we will exit
>  # with status 1 which is a shell 'false' value.
> -if ! $python -c 'import sys; sys.exit(sys.version_info < (2,6) or sys.version_info >= (3,))'; then
> -  error_exit "Cannot use '$python', Python 2.6 or later is required." \
> -      "Note that Python 3 or later is not yet supported." \
> +if ! $python -c 'import sys; sys.exit(sys.version_info < (2,6))'; then
> +  error_exit "Cannot use '$python', Python 2 >= 2.6 or Python 3 is required." \
>        "Use --python=/path/to/python to specify a supported Python."
>  fi
>  
> 

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PATCH v5 11/14] input: add missing JIS keys to virtio input
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 11/14] input: add missing JIS keys to virtio input Daniel P. Berrange
@ 2018-01-16 14:54   ` Eric Blake
  2018-02-01 20:46   ` Eduardo Habkost
  1 sibling, 0 replies; 30+ messages in thread
From: Eric Blake @ 2018-01-16 14:54 UTC (permalink / raw)
  To: Daniel P. Berrange, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé,
	Miika S

[-- Attachment #1: Type: text/plain, Size: 872 bytes --]

On 01/16/2018 07:42 AM, Daniel P. Berrange wrote:
> From: Miika S <miika9764@gmail.com>
> 
> keycodemapdb updated to add the QKeyCodes muhenkan and katakanahiragana
> 
> Signed-off-by: Miika S <miika9764@gmail.com>

Not a typical legal name (since a Signed-off-by is a legal statement for
tracing copyright restrictions, using an actual name instead of a
pseudonym is preferable; however, we have examples of commits in the
past that did not do so, so I'm not going to insist on this one).

> ---
>  hw/input/virtio-input-hid.c | 7 +++++++
>  qapi/ui.json                | 5 ++++-
>  ui/keycodemapdb             | 2 +-
>  3 files changed, 12 insertions(+), 2 deletions(-)
> 

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PATCH v5 12/14] ui: update keycodemapdb to get py3 fixes
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 12/14] ui: update keycodemapdb to get py3 fixes Daniel P. Berrange
@ 2018-01-16 14:56   ` Eric Blake
  0 siblings, 0 replies; 30+ messages in thread
From: Eric Blake @ 2018-01-16 14:56 UTC (permalink / raw)
  To: Daniel P. Berrange, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé

[-- Attachment #1: Type: text/plain, Size: 973 bytes --]

On 01/16/2018 07:42 AM, Daniel P. Berrange wrote:
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
>  ui/keycodemapdb | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 

When posting submodule diffs, you can do:

$ git submodule summary ui/keycodemapdb HEAD^

to come up with what the change actually represents. (It's annoying that
git submodules aren't more user-friendly)

> diff --git a/ui/keycodemapdb b/ui/keycodemapdb
> index 05dad417e9..6b3d716e2b 160000
> --- a/ui/keycodemapdb
> +++ b/ui/keycodemapdb
> @@ -1 +1 @@
> -Subproject commit 05dad417e9d0b37ee1fba33056d91a6b734b3357
> +Subproject commit 6b3d716e2b6472eb7189d3220552280ef3d832ce
> 

* ui/keycodemapdb 05dad41...6b3d716 (1):
  > Fix compat with py3 dict keys/values data types

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3
  2018-01-16 13:42 [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Daniel P. Berrange
                   ` (13 preceding siblings ...)
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 14/14] docker: change Fedora images to run with python3 Daniel P. Berrange
@ 2018-01-19 17:09 ` Eduardo Habkost
  14 siblings, 0 replies; 30+ messages in thread
From: Eduardo Habkost @ 2018-01-19 17:09 UTC (permalink / raw)
  To: Daniel P. Berrange
  Cc: qemu-devel, Fam Zheng, Philippe Mathieu-Daudé,
	Markus Armbruster, Paolo Bonzini, Alex Bennée


On Tue, Jan 16, 2018 at 01:42:03PM +0000, Daniel P. Berrange wrote:
> This is an update for my previously posted series:
> 
>  v2: https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg06528.html
>  v3: https://lists.gnu.org/archive/html/qemu-devel/2018-01/msg02978.html
>  v4: https://lists.gnu.org/archive/html/qemu-devel/2018-01/msg03150.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'm queueing this on python-next.  Thanks!



> 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
> 
> If, rather than supporting py2+py3 in parallel, we wish to entirely drop
> py2 support, this series would not change significantly
> 
>  - The "from __future__ import print_function" line can be removed
>    from patch 1.
>  - The code in patches 2, 3, 4 to deal with changed module names
>    for a few functions can be simpified to only try the py3 location
>  - The travis + docker jobs would be fully updated to install py3,
>    or delete jobs which can't support py3
> 
> Given how little code is removed should we drop py2 support, I don't
> believe it is in our immediate interests to do this. It would create
> extra pain for consumers of QEMU, with little benefit to QEMU code
> maintainance. The key thing is ensuring our travis+docker jobs provide
> satisfactory automated test coverage for the variety of python versions
> in the distros we care about targetting.
> 
> NB, Patch 11 here is not related to python 3 work - it was just a
> temporary pre-requisite of pulling in the keycodemapdb update.
> 
> Changes since v4:
> 
>  - Fix broken rebase which accidentally squashed first two
>    patches together
>  - Unset LC_ALL, and set LANG + LC_CTYPE, instead of only LANG (Eric)
> 
> Changes since v3:
> 
>  - Remove space before '(' in print() function calls (Phillippe)
>  - Force use of en_US.UTF-8 for QAPI code generation (Patchew)
> 
> 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 (13):
>   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
>   qapi: force a UTF-8 locale for running Python
>   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 +++++++----
>  Makefile                               | 22 +++++++++--------
>  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 +-
>  12 files changed, 96 insertions(+), 69 deletions(-)
> 
> -- 
> 2.14.3
> 
> 

-- 
Eduardo

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PATCH v5 11/14] input: add missing JIS keys to virtio input
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 11/14] input: add missing JIS keys to virtio input Daniel P. Berrange
  2018-01-16 14:54   ` Eric Blake
@ 2018-02-01 20:46   ` Eduardo Habkost
  2018-02-02 13:13     ` Daniel P. Berrangé
  1 sibling, 1 reply; 30+ messages in thread
From: Eduardo Habkost @ 2018-02-01 20:46 UTC (permalink / raw)
  To: Daniel P. Berrange
  Cc: qemu-devel, Miika S, Fam Zheng, Philippe Mathieu-Daudé,
	Markus Armbruster, Paolo Bonzini, Alex Bennée

On Tue, Jan 16, 2018 at 01:42:14PM +0000, Daniel P. Berrange wrote:
> From: Miika S <miika9764@gmail.com>
> 
> keycodemapdb updated to add the QKeyCodes muhenkan and katakanahiragana
> 
> Signed-off-by: Miika S <miika9764@gmail.com>

Oops, this conflicts with:

commit ae6b06ab655b21c19b234ce3422f694d11a013e0
Author: Daniel P. Berrange <berrange@redhat.com>
Date:   Wed Jan 17 16:41:18 2018 +0000

    hw: convert virtio-input-hid device to keycodemapdb
    
    [...]

Patch 11/14 and 12/14 need to be redone.  I'm removing patches
11-14 from python-next until this is sorted out.

-- 
Eduardo

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PATCH v5 11/14] input: add missing JIS keys to virtio input
  2018-02-01 20:46   ` Eduardo Habkost
@ 2018-02-02 13:13     ` Daniel P. Berrangé
  2018-02-02 14:52       ` Eduardo Habkost
  0 siblings, 1 reply; 30+ messages in thread
From: Daniel P. Berrangé @ 2018-02-02 13:13 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: qemu-devel, Miika S, Fam Zheng, Philippe Mathieu-Daudé,
	Markus Armbruster, Paolo Bonzini, Alex Bennée

On Thu, Feb 01, 2018 at 06:46:46PM -0200, Eduardo Habkost wrote:
> On Tue, Jan 16, 2018 at 01:42:14PM +0000, Daniel P. Berrange wrote:
> > From: Miika S <miika9764@gmail.com>
> > 
> > keycodemapdb updated to add the QKeyCodes muhenkan and katakanahiragana
> > 
> > Signed-off-by: Miika S <miika9764@gmail.com>
> 
> Oops, this conflicts with:
> 
> commit ae6b06ab655b21c19b234ce3422f694d11a013e0
> Author: Daniel P. Berrange <berrange@redhat.com>
> Date:   Wed Jan 17 16:41:18 2018 +0000
> 
>     hw: convert virtio-input-hid device to keycodemapdb
>     
>     [...]
> 
> Patch 11/14 and 12/14 need to be redone.  I'm removing patches
> 11-14 from python-next until this is sorted out.

You can literally just drop the patch chunk which touches
the hw/input/virtio-input-hid.c file entirely, as that table
is now auto-generated.  I can resend the series with that if
you prefer though ?

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PATCH v5 11/14] input: add missing JIS keys to virtio input
  2018-02-02 13:13     ` Daniel P. Berrangé
@ 2018-02-02 14:52       ` Eduardo Habkost
  0 siblings, 0 replies; 30+ messages in thread
From: Eduardo Habkost @ 2018-02-02 14:52 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: qemu-devel, Miika S, Fam Zheng, Philippe Mathieu-Daudé,
	Markus Armbruster, Paolo Bonzini, Alex Bennée

On Fri, Feb 02, 2018 at 01:13:14PM +0000, Daniel P. Berrangé wrote:
> On Thu, Feb 01, 2018 at 06:46:46PM -0200, Eduardo Habkost wrote:
> > On Tue, Jan 16, 2018 at 01:42:14PM +0000, Daniel P. Berrange wrote:
> > > From: Miika S <miika9764@gmail.com>
> > > 
> > > keycodemapdb updated to add the QKeyCodes muhenkan and katakanahiragana
> > > 
> > > Signed-off-by: Miika S <miika9764@gmail.com>
> > 
> > Oops, this conflicts with:
> > 
> > commit ae6b06ab655b21c19b234ce3422f694d11a013e0
> > Author: Daniel P. Berrange <berrange@redhat.com>
> > Date:   Wed Jan 17 16:41:18 2018 +0000
> > 
> >     hw: convert virtio-input-hid device to keycodemapdb
> >     
> >     [...]
> > 
> > Patch 11/14 and 12/14 need to be redone.  I'm removing patches
> > 11-14 from python-next until this is sorted out.
> 
> You can literally just drop the patch chunk which touches
> the hw/input/virtio-input-hid.c file entirely, as that table
> is now auto-generated.  I can resend the series with that if
> you prefer though ?

I will do that when applying the patch.  Thanks!

-- 
Eduardo

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PATCH v5 06/14] qapi: remove '-q' arg to diff when comparing QAPI output
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 06/14] qapi: remove '-q' arg to diff when comparing QAPI output Daniel P. Berrange
@ 2018-02-09 23:39   ` Eric Blake
  2018-02-10  6:27     ` Markus Armbruster
  2018-02-12 16:45     ` Daniel P. Berrangé
  0 siblings, 2 replies; 30+ messages in thread
From: Eric Blake @ 2018-02-09 23:39 UTC (permalink / raw)
  To: Daniel P. Berrange, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Markus Armbruster, Paolo Bonzini,
	Alex Bennée, Philippe Mathieu-Daudé

On 01/16/2018 07:42 AM, Daniel P. Berrange wrote:
> When the qapi schema tests fail they merely print that the expected
> output didn't match the actual output. This is largely useless when
> trying diagnose what went wrong. Removing the '-q' arg to diff
> means that it is still silent on successful tests, but when it
> fails we'll see details of the incorrect output.
> 
> Reviewed-by: Eric Blake <eblake@redhat.com>
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
>   tests/Makefile.include | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/Makefile.include b/tests/Makefile.include
> index 39a4b5359d..d65fb4e1b3 100644
> --- a/tests/Makefile.include
> +++ b/tests/Makefile.include
> @@ -908,10 +908,10 @@ $(patsubst %, check-%, $(check-qapi-schema-y)): check-%.json: $(SRC_PATH)/%.json
>   		$^ >$*.test.out 2>$*.test.err; \
>   		echo $$? >$*.test.exit, \
>   		"TEST","$*.out")
> -	@diff -q $(SRC_PATH)/$*.out $*.test.out
> +	@diff $(SRC_PATH)/$*.out $*.test.out

And just now I'm noticing that this produces an ed-script diff (which is 
useless), instead of a context diff.  We want -c.  I guess I'll be 
submitting the obvious followup patch.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PATCH v5 06/14] qapi: remove '-q' arg to diff when comparing QAPI output
  2018-02-09 23:39   ` Eric Blake
@ 2018-02-10  6:27     ` Markus Armbruster
  2018-02-12 16:45     ` Daniel P. Berrangé
  1 sibling, 0 replies; 30+ messages in thread
From: Markus Armbruster @ 2018-02-10  6:27 UTC (permalink / raw)
  To: Eric Blake
  Cc: Daniel P. Berrange, qemu-devel, Fam Zheng, Eduardo Habkost,
	Philippe Mathieu-Daudé,
	Paolo Bonzini, Alex Bennée

Eric Blake <eblake@redhat.com> writes:

> On 01/16/2018 07:42 AM, Daniel P. Berrange wrote:
>> When the qapi schema tests fail they merely print that the expected
>> output didn't match the actual output. This is largely useless when
>> trying diagnose what went wrong. Removing the '-q' arg to diff
>> means that it is still silent on successful tests, but when it
>> fails we'll see details of the incorrect output.
>>
>> Reviewed-by: Eric Blake <eblake@redhat.com>
>> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
>> ---
>>   tests/Makefile.include | 6 +++---
>>   1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/tests/Makefile.include b/tests/Makefile.include
>> index 39a4b5359d..d65fb4e1b3 100644
>> --- a/tests/Makefile.include
>> +++ b/tests/Makefile.include
>> @@ -908,10 +908,10 @@ $(patsubst %, check-%, $(check-qapi-schema-y)): check-%.json: $(SRC_PATH)/%.json
>>   		$^ >$*.test.out 2>$*.test.err; \
>>   		echo $$? >$*.test.exit, \
>>   		"TEST","$*.out")
>> -	@diff -q $(SRC_PATH)/$*.out $*.test.out
>> +	@diff $(SRC_PATH)/$*.out $*.test.out
>
> And just now I'm noticing that this produces an ed-script diff (which
> is useless), instead of a context diff.  We want -c.  I guess I'll be
> submitting the obvious followup patch.

I'd very much prefer -u.

There's a diff -q left a few lines down.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PATCH v5 06/14] qapi: remove '-q' arg to diff when comparing QAPI output
  2018-02-09 23:39   ` Eric Blake
  2018-02-10  6:27     ` Markus Armbruster
@ 2018-02-12 16:45     ` Daniel P. Berrangé
  1 sibling, 0 replies; 30+ messages in thread
From: Daniel P. Berrangé @ 2018-02-12 16:45 UTC (permalink / raw)
  To: Eric Blake
  Cc: qemu-devel, Fam Zheng, Eduardo Habkost, Markus Armbruster,
	Paolo Bonzini, Alex Bennée, Philippe Mathieu-Daudé

On Fri, Feb 09, 2018 at 05:39:58PM -0600, Eric Blake wrote:
> On 01/16/2018 07:42 AM, Daniel P. Berrange wrote:
> > When the qapi schema tests fail they merely print that the expected
> > output didn't match the actual output. This is largely useless when
> > trying diagnose what went wrong. Removing the '-q' arg to diff
> > means that it is still silent on successful tests, but when it
> > fails we'll see details of the incorrect output.
> > 
> > Reviewed-by: Eric Blake <eblake@redhat.com>
> > Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> > ---
> >   tests/Makefile.include | 6 +++---
> >   1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/tests/Makefile.include b/tests/Makefile.include
> > index 39a4b5359d..d65fb4e1b3 100644
> > --- a/tests/Makefile.include
> > +++ b/tests/Makefile.include
> > @@ -908,10 +908,10 @@ $(patsubst %, check-%, $(check-qapi-schema-y)): check-%.json: $(SRC_PATH)/%.json
> >   		$^ >$*.test.out 2>$*.test.err; \
> >   		echo $$? >$*.test.exit, \
> >   		"TEST","$*.out")
> > -	@diff -q $(SRC_PATH)/$*.out $*.test.out
> > +	@diff $(SRC_PATH)/$*.out $*.test.out
> 
> And just now I'm noticing that this produces an ed-script diff (which is
> useless), instead of a context diff.  We want -c.  I guess I'll be
> submitting the obvious followup patch.

Well not entirely useless - it showed me the problems that we happening
with the py3 port, but yeah, a saner diff format would be nice :-)

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PATCH v5 13/14] travis: improve python version test coverage
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 13/14] travis: improve python version test coverage Daniel P. Berrange
@ 2018-05-31 16:09   ` Philippe Mathieu-Daudé
  2018-06-01 11:47     ` Daniel P. Berrangé
  2018-05-31 20:17   ` Alex Bennée
  1 sibling, 1 reply; 30+ messages in thread
From: Philippe Mathieu-Daudé @ 2018-05-31 16:09 UTC (permalink / raw)
  To: Daniel P. Berrange, qemu-devel, Eduardo Habkost, Alex Bennée
  Cc: Fam Zheng, Markus Armbruster, Paolo Bonzini, Eric Blake

Hi Daniel,

On 01/16/2018 10:42 AM, Daniel P. Berrange wrote:
> Currently travis declares ancient python 2.4 is desired. Update that to
> 2.6 which is the oldest version any targetted distros still needs. If we
> just list a python 3 version at the top level this will double the
> number of travis jobs we run which is unreasonable.
> 
> So arbitrarily pick the clang test matrix entries to build with python
> 3.0 and 3.6, to extend coverage of python versions, without increasing
> job count or build time.

I'm seeing 3.0 builds taking the double time than 3.6 builds (and
triggering the 50min timeout), any idea what could cause this huge
difference?

> 
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
>  .travis.yml | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/.travis.yml b/.travis.yml
> index f583839755..708c886017 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -1,7 +1,7 @@
>  sudo: false
>  language: c
>  python:
> -  - "2.4"
> +  - "2.6"
>  compiler:
>    - gcc
>  cache: ccache
> @@ -115,15 +115,17 @@ matrix:
>          - sudo apt-get build-dep -qq qemu
>          - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
>          - git submodule update --init --recursive
> -    # Trusty System build with latest stable clang
> +    # Trusty System build with latest stable clang & python 3.0
>      - sudo: required
>        addons:
>        dist: trusty
>        language: generic
>        compiler: none
> +      python:
> +        - "3.0"
>        env:
>          - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
> -        - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9"
> +        - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3"
>        before_install:
>          - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
>          - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
> @@ -134,15 +136,17 @@ matrix:
>          - git submodule update --init --recursive
>        before_script:
>          - ./configure ${CONFIG} || cat config.log
> -    # Trusty Linux User build with latest stable clang
> +    # Trusty Linux User build with latest stable clang & python 3.6
>      - sudo: required
>        addons:
>        dist: trusty
>        language: generic
>        compiler: none
> +      python:
> +        - "3.6"
>        env:
>          - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
> -        - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9"
> +        - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3"
>        before_install:
>          - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
>          - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PATCH v5 13/14] travis: improve python version test coverage
  2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 13/14] travis: improve python version test coverage Daniel P. Berrange
  2018-05-31 16:09   ` Philippe Mathieu-Daudé
@ 2018-05-31 20:17   ` Alex Bennée
  2018-06-01 11:48     ` Daniel P. Berrangé
  1 sibling, 1 reply; 30+ messages in thread
From: Alex Bennée @ 2018-05-31 20:17 UTC (permalink / raw)
  To: Daniel P. Berrange
  Cc: qemu-devel, Fam Zheng, Eduardo Habkost, Markus Armbruster,
	Paolo Bonzini, Philippe Mathieu-Daudé,
	Eric Blake


Daniel P. Berrange <berrange@redhat.com> writes:

> Currently travis declares ancient python 2.4 is desired. Update that to
> 2.6 which is the oldest version any targetted distros still needs. If we
> just list a python 3 version at the top level this will double the
> number of travis jobs we run which is unreasonable.
>
> So arbitrarily pick the clang test matrix entries to build with python
> 3.0 and 3.6, to extend coverage of python versions, without increasing
> job count or build time.

I'm sorry I didn't get to this when you posted it. However I'd like to
know what the minimum build configuration we can get which will still
ensure that the python is exercised? Would a
TARGET_LIST="x86-64-softmmu" be good enough?

>
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
>  .travis.yml | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/.travis.yml b/.travis.yml
> index f583839755..708c886017 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -1,7 +1,7 @@
>  sudo: false
>  language: c
>  python:
> -  - "2.4"
> +  - "2.6"
>  compiler:
>    - gcc
>  cache: ccache
> @@ -115,15 +115,17 @@ matrix:
>          - sudo apt-get build-dep -qq qemu
>          - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
>          - git submodule update --init --recursive
> -    # Trusty System build with latest stable clang
> +    # Trusty System build with latest stable clang & python 3.0
>      - sudo: required
>        addons:
>        dist: trusty
>        language: generic
>        compiler: none
> +      python:
> +        - "3.0"
>        env:
>          - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
> -        - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9"
> +        - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3"
>        before_install:
>          - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
>          - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
> @@ -134,15 +136,17 @@ matrix:
>          - git submodule update --init --recursive
>        before_script:
>          - ./configure ${CONFIG} || cat config.log
> -    # Trusty Linux User build with latest stable clang
> +    # Trusty Linux User build with latest stable clang & python 3.6
>      - sudo: required
>        addons:
>        dist: trusty
>        language: generic
>        compiler: none
> +      python:
> +        - "3.6"
>        env:
>          - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
> -        - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9"
> +        - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3"
>        before_install:
>          - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
>          - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'


--
Alex Bennée

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PATCH v5 13/14] travis: improve python version test coverage
  2018-05-31 16:09   ` Philippe Mathieu-Daudé
@ 2018-06-01 11:47     ` Daniel P. Berrangé
  0 siblings, 0 replies; 30+ messages in thread
From: Daniel P. Berrangé @ 2018-06-01 11:47 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Eduardo Habkost, Alex Bennée, Fam Zheng,
	Markus Armbruster, Paolo Bonzini, Eric Blake

On Thu, May 31, 2018 at 01:09:37PM -0300, Philippe Mathieu-Daudé wrote:
> Hi Daniel,
> 
> On 01/16/2018 10:42 AM, Daniel P. Berrange wrote:
> > Currently travis declares ancient python 2.4 is desired. Update that to
> > 2.6 which is the oldest version any targetted distros still needs. If we
> > just list a python 3 version at the top level this will double the
> > number of travis jobs we run which is unreasonable.
> > 
> > So arbitrarily pick the clang test matrix entries to build with python
> > 3.0 and 3.6, to extend coverage of python versions, without increasing
> > job count or build time.
> 
> I'm seeing 3.0 builds taking the double time than 3.6 builds (and
> triggering the 50min timeout), any idea what could cause this huge
> difference?

Ouch, that's real bad. I don't have any bright ideas, other than fact
that its a .0 release, so perhaps it was just really bad.

Wonder at which 3.x release it got "fast"

> 
> > 
> > Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> > ---
> >  .travis.yml | 14 +++++++++-----
> >  1 file changed, 9 insertions(+), 5 deletions(-)
> > 
> > diff --git a/.travis.yml b/.travis.yml
> > index f583839755..708c886017 100644
> > --- a/.travis.yml
> > +++ b/.travis.yml
> > @@ -1,7 +1,7 @@
> >  sudo: false
> >  language: c
> >  python:
> > -  - "2.4"
> > +  - "2.6"
> >  compiler:
> >    - gcc
> >  cache: ccache
> > @@ -115,15 +115,17 @@ matrix:
> >          - sudo apt-get build-dep -qq qemu
> >          - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
> >          - git submodule update --init --recursive
> > -    # Trusty System build with latest stable clang
> > +    # Trusty System build with latest stable clang & python 3.0
> >      - sudo: required
> >        addons:
> >        dist: trusty
> >        language: generic
> >        compiler: none
> > +      python:
> > +        - "3.0"
> >        env:
> >          - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
> > -        - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9"
> > +        - CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3"
> >        before_install:
> >          - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
> >          - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
> > @@ -134,15 +136,17 @@ matrix:
> >          - git submodule update --init --recursive
> >        before_script:
> >          - ./configure ${CONFIG} || cat config.log
> > -    # Trusty Linux User build with latest stable clang
> > +    # Trusty Linux User build with latest stable clang & python 3.6
> >      - sudo: required
> >        addons:
> >        dist: trusty
> >        language: generic
> >        compiler: none
> > +      python:
> > +        - "3.6"
> >        env:
> >          - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
> > -        - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9"
> > +        - CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3"
> >        before_install:
> >          - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
> >          - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
> > 

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PATCH v5 13/14] travis: improve python version test coverage
  2018-05-31 20:17   ` Alex Bennée
@ 2018-06-01 11:48     ` Daniel P. Berrangé
  0 siblings, 0 replies; 30+ messages in thread
From: Daniel P. Berrangé @ 2018-06-01 11:48 UTC (permalink / raw)
  To: Alex Bennée
  Cc: qemu-devel, Fam Zheng, Eduardo Habkost, Markus Armbruster,
	Paolo Bonzini, Philippe Mathieu-Daudé,
	Eric Blake

On Thu, May 31, 2018 at 09:17:30PM +0100, Alex Bennée wrote:
> 
> Daniel P. Berrange <berrange@redhat.com> writes:
> 
> > Currently travis declares ancient python 2.4 is desired. Update that to
> > 2.6 which is the oldest version any targetted distros still needs. If we
> > just list a python 3 version at the top level this will double the
> > number of travis jobs we run which is unreasonable.
> >
> > So arbitrarily pick the clang test matrix entries to build with python
> > 3.0 and 3.6, to extend coverage of python versions, without increasing
> > job count or build time.
> 
> I'm sorry I didn't get to this when you posted it. However I'd like to
> know what the minimum build configuration we can get which will still
> ensure that the python is exercised? Would a
> TARGET_LIST="x86-64-softmmu" be good enough?

Most important stuff to exercise is the QAPI code generator and the
trace tool backends, as those the main python pieces users will hit
during build. So yes, it is sufficient to just have 1 target arch


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2018-06-01 11:48 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-16 13:42 [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Daniel P. Berrange
2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 01/14] qapi: convert to use python print function instead of statement Daniel P. Berrange
2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 02/14] qapi: use items()/values() intead of iteritems()/itervalues() Daniel P. Berrange
2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 03/14] qapi: Use OrderedDict from standard library if available Daniel P. Berrange
2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 04/14] qapi: adapt to moved location of StringIO module in py3 Daniel P. Berrange
2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 05/14] qapi: Adapt to moved location of 'maketrans' function " Daniel P. Berrange
2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 06/14] qapi: remove '-q' arg to diff when comparing QAPI output Daniel P. Berrange
2018-02-09 23:39   ` Eric Blake
2018-02-10  6:27     ` Markus Armbruster
2018-02-12 16:45     ` Daniel P. Berrangé
2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 07/14] qapi: ensure stable sort ordering when checking QAPI entities Daniel P. Berrange
2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 08/14] qapi: force a UTF-8 locale for running Python Daniel P. Berrange
2018-01-16 14:45   ` Eric Blake
2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 09/14] scripts: ensure signrom treats data as bytes Daniel P. Berrange
2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 10/14] configure: allow use of python 3 Daniel P. Berrange
2018-01-16 14:51   ` Eric Blake
2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 11/14] input: add missing JIS keys to virtio input Daniel P. Berrange
2018-01-16 14:54   ` Eric Blake
2018-02-01 20:46   ` Eduardo Habkost
2018-02-02 13:13     ` Daniel P. Berrangé
2018-02-02 14:52       ` Eduardo Habkost
2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 12/14] ui: update keycodemapdb to get py3 fixes Daniel P. Berrange
2018-01-16 14:56   ` Eric Blake
2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 13/14] travis: improve python version test coverage Daniel P. Berrange
2018-05-31 16:09   ` Philippe Mathieu-Daudé
2018-06-01 11:47     ` Daniel P. Berrangé
2018-05-31 20:17   ` Alex Bennée
2018-06-01 11:48     ` Daniel P. Berrangé
2018-01-16 13:42 ` [Qemu-devel] [PATCH v5 14/14] docker: change Fedora images to run with python3 Daniel P. Berrange
2018-01-19 17:09 ` [Qemu-devel] [PATCH v5 00/14] Support building with py2 or py3 Eduardo Habkost

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.