qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Thomas Huth" <thuth@redhat.com>, "Olaf Hering" <olaf@aepfle.de>,
	"Stefan Hajnoczi" <stefanha@redhat.com>,
	"Michael Roth" <mdroth@linux.vnet.ibm.com>,
	"Eric Blake" <eblake@redhat.com>,
	"Stefan Berger" <stefanb@linux.vnet.ibm.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>
Subject: [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42
Date: Fri,  4 May 2018 17:00:23 +0100	[thread overview]
Message-ID: <20180504160026.14017-1-berrange@redhat.com> (raw)

This short series is a followup the discussions around min glib version
when Olaf found we had accidentally increased the min glib by using a
newer function:

  https://lists.gnu.org/archive/html/qemu-devel/2018-04/msg02699.html

Some key points from that thread

  - Although we have a docker job that tries to test the min glib
    version is adhered to, that's only run post-build, not by Peter's
    merge tests, nor by patchew.

  - The docker min glib test failed to detect the problem anyway
    because RHEL had backported the symbol in question.

  - The docker min glib test only builds with certain configure
    options so isn't foolproof.

  - The modern distros we implicitly care about have way newer glib
    than 2.22

  - Peter's OS-X build host previously had 2.22, but after switching
    from fink to homebrew now has 2.56

  - I suggested following libvirt's lead in writing a policy for how
    we pick supported OS targets to inform maintainers when min versions
    can be increased.

This series writes such a document largely based on one I wrote for
libvirt with a few changes, largely around OS-X and *BSD. Note it
is not meant to be an exhaustive list of distros we'll build on, rather
a representative selection, so that we can identify the range of 3rd
party library versions we need to care about. So if your favourite
distro is missing, dont be alarmed, as it probably ships similar
vintage software to one of those listed - if not feel free to suggest
additions.

Based on that doc and https://repology.org/metapackage/glib/versions,
I identified that we could feasibly set min glib to 2.42. Note that
this would be dropping RHEL-6 as a build host (RHEL-6.0 came out in
2010 so that's reasonable to drop IMHO). It would still cover 2 major
Debian versions and 2 most recent Ubuntu LTS (16.04, 18.04, but *not*
14.04). This min glib lets us remove almost all our compat code.

Most interestingly, thanks tothe new min version being greater than
2.32, we can now use GLIB_VERSION_MAX_ALLOWED to validate the correct
API usage according to our min version:

  https://developer.gnome.org/glib/stable/glib-Version-Information.html#GLIB-VERSION-MAX-ALLOWED:CAPS

This means that *all* our CI jobs & developer builds will be enforcing
the min version, so means very many more conditionally built features
will get their build validated against min glib version. This would
do a much better job of catching mistakes than our min-glib docker
job, making that obsolete.

Daniel P. Berrangé (3):
  qemu-doc: provide details of supported build platforms
  glib: bump min required glib library version to 2.42
  glib: enforce the minimum required version and warn about old APIs

 configure               |   6 +-
 include/glib-compat.h   | 362 ++++++------------------------------------------
 qemu-doc.texi           |  68 +++++++++
 tests/test-qmp-event.c  |   2 +-
 tests/tpm-emu.h         |   4 +-
 tests/vhost-user-test.c |   4 +-
 trace/simple.c          |   6 +-
 7 files changed, 123 insertions(+), 329 deletions(-)

-- 
2.14.3

             reply	other threads:[~2018-05-04 16:00 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-04 16:00 Daniel P. Berrangé [this message]
2018-05-04 16:00 ` [Qemu-devel] [PATCH 1/3] qemu-doc: provide details of supported build platforms Daniel P. Berrangé
2018-05-04 16:00 ` [Qemu-devel] [PATCH 2/3] glib: bump min required glib library version to 2.42 Daniel P. Berrangé
2018-05-04 20:02   ` Eric Blake
2018-05-04 16:00 ` [Qemu-devel] [PATCH 3/3] glib: enforce the minimum required version and warn about old APIs Daniel P. Berrangé
2018-05-08 15:17   ` Paolo Bonzini
2018-05-08 15:19     ` Daniel P. Berrangé
2018-05-08 16:02       ` Paolo Bonzini
2018-05-08 16:14         ` Daniel P. Berrangé
2018-05-04 16:35 ` [Qemu-devel] [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42 no-reply
2018-05-04 16:36 ` no-reply
2018-05-04 19:40 ` Olaf Hering
2018-05-04 20:57   ` Daniel P. Berrangé
2018-05-04 21:00 ` Daniel P. Berrangé
2018-05-08 14:50   ` [Qemu-devel] [Xen-devel] " George Dunlap
2018-05-08 15:05     ` Paolo Bonzini
2018-05-08 15:10     ` Daniel P. Berrangé
2018-05-08 15:47       ` George Dunlap
2018-05-04 22:05 ` [Qemu-devel] " Paolo Bonzini
2018-05-08 10:42   ` Daniel P. Berrangé
2018-05-08 11:41     ` Paolo Bonzini
2018-05-11 22:48 ` [Qemu-devel] Requiring Python 2.7+ (was Re: [PATCH 0/3] Document intent for supported build platforms and bump min glib to 2.42) Eduardo Habkost
2018-05-14  9:33   ` Daniel P. Berrangé
2018-05-14  9:36     ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180504160026.14017-1-berrange@redhat.com \
    --to=berrange@redhat.com \
    --cc=armbru@redhat.com \
    --cc=eblake@redhat.com \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=olaf@aepfle.de \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanb@linux.vnet.ibm.com \
    --cc=stefanha@redhat.com \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).