[libvirt] [PATCH] build: restore support for libyajl 2.0.1

Ján Tomko posted 1 patch 4 years, 11 months ago
Test syntax-check passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/9c38d5c839c3ce4c41614e48808825d1b8a8583d.1557401495.git.jtomko@redhat.com
There is a newer version of this series
m4/virt-yajl.m4 | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
[libvirt] [PATCH] build: restore support for libyajl 2.0.1
Posted by Ján Tomko 4 years, 11 months ago
Commit 105756660f944e7db02de3b55b98bb7c11cd03bf was too eager and did
not consider SLE 12 which still has 2.0.1 that does not ship
a pkg-config file.

Similar to how we check for readline, prefer pkg-config if available
and fall back to the old detection code if not found.

NB: this is not a clean revert because we're not reintroducing support
for YAJL 1.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reported-by: Olaf Hering <olaf@aepfle.de>
---
 m4/virt-yajl.m4 | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/m4/virt-yajl.m4 b/m4/virt-yajl.m4
index 494e722963..05a8f8b9bd 100644
--- a/m4/virt-yajl.m4
+++ b/m4/virt-yajl.m4
@@ -24,7 +24,19 @@ AC_DEFUN([LIBVIRT_ARG_YAJL],[
 AC_DEFUN([LIBVIRT_CHECK_YAJL],[
   dnl YAJL JSON library http://lloyd.github.com/yajl/
 
-  LIBVIRT_CHECK_PKG([YAJL], [yajl], [2.0.3])
+  PKG_CHECK_EXISTS([readline], [use_pkgconfig=1], [use_pkgconfig=0])
+
+  if test $use_pkgconfig = 1; then
+    dnl 2.0.3 was the version where the pkg-config file was first added
+    LIBVIRT_CHECK_PKG([YAJL], [yajl], [2.0.3])
+  else
+    dnl SUSE SLE 12 and OpenSUSE Leap 42.3 still use 2.0.1
+    dnl TODO: delete this in July 2020
+    LIBVIRT_CHECK_LIB_ALT([YAJL], [yajl],
+                          [yajl_tree_parse], [yajl/yajl_common.h])
+
+  fi
+
 ])
 
 AC_DEFUN([LIBVIRT_RESULT_YAJL],[
-- 
2.19.2

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] build: restore support for libyajl 2.0.1
Posted by Olaf Hering 4 years, 11 months ago
Am Thu,  9 May 2019 13:31:45 +0200
schrieb Ján Tomko <jtomko@redhat.com>:

> +    dnl TODO: delete this in July 2020

Does this come with a cost? I mean, SLE_12 is not going away any time soon.
Just dropping things because we can seems to be the wrong approach.
There might be other new things that must be used in libvirt, and none of
the currently supported systems may have them.

Olaf
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] build: restore support for libyajl 2.0.1
Posted by Daniel P. Berrangé 4 years, 11 months ago
On Thu, May 09, 2019 at 04:10:36PM +0200, Olaf Hering wrote:
> Am Thu,  9 May 2019 13:31:45 +0200
> schrieb Ján Tomko <jtomko@redhat.com>:
> 
> > +    dnl TODO: delete this in July 2020
> 
> Does this come with a cost? I mean, SLE_12 is not going away any time soon.
> Just dropping things because we can seems to be the wrong approach.

Historically we almost never dropped stuff, and when we did it was
completely unpredictable and arbitrary each time. Maintaining support
for old software has a maint cost so it is desirable to drop things
after a period of time. Thus we defined a platform support rules
for when we will drop distros so that downstream vendors/ users have
clear expectations:

  https://libvirt.org/platforms.html

SLE is falls under the long life distros rule, so we have at most
2 major versions supported at any time, and the older version is
dropped 2 years after the newer version is released.

Our belief is that this cut off point for the old major version
is long enough that people still using this older version are
doing so becasue they want unchanging stable versions, not the
bleeding edge. IOW, after SLE 15 has been released for 2 years,
it is increasingly unlikely that most people will want to run
new libvirt on SLE 12. There will always be people who are the
exception to the rule, but on balance this is a good tradeoff
between maint cost for libvirt vs likely usage by downstream.

This same policy has also been now adopted by QEMU.

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 :|

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] build: restore support for libyajl 2.0.1
Posted by Andrea Bolognani 4 years, 11 months ago
On Thu, 2019-05-09 at 13:31 +0200, Ján Tomko wrote:
> +  PKG_CHECK_EXISTS([readline], [use_pkgconfig=1], [use_pkgconfig=0])
> +
> +  if test $use_pkgconfig = 1; then
> +    dnl 2.0.3 was the version where the pkg-config file was first added
> +    LIBVIRT_CHECK_PKG([YAJL], [yajl], [2.0.3])
> +  else
> +    dnl SUSE SLE 12 and OpenSUSE Leap 42.3 still use 2.0.1
> +    dnl TODO: delete this in July 2020
> +    LIBVIRT_CHECK_LIB_ALT([YAJL], [yajl],
> +                          [yajl_tree_parse], [yajl/yajl_common.h])
> +
> +  fi

We're only concerned with YAJL 2 nowadays, so we should be able to
use the non-ALT version of the macro here, right?

Other than that, the change looks good.

-- 
Andrea Bolognani / Red Hat / Virtualization

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list