[libvirt] [PATCH 04/10] build: require yajl >= 2.0.3

Ján Tomko posted 10 patches 6 years, 8 months ago
[libvirt] [PATCH 04/10] build: require yajl >= 2.0.3
Posted by Ján Tomko 6 years, 8 months ago
The pkg-config file was introduced by commit b729ded which was released
in yajl 2.0.3.

Since all our supported platforms include at least yajl 2.0.4,
use pkg-config to detect the library and set the minimum to 2.0.3.

https://repology.org/project/yajl/versions

Signed-off-by: Ján Tomko <jtomko@redhat.com>
---
 m4/virt-driver-qemu.m4 | 2 +-
 m4/virt-yajl.m4        | 6 ++----
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/m4/virt-driver-qemu.m4 b/m4/virt-driver-qemu.m4
index 2934098cfd..0daf62b88e 100644
--- a/m4/virt-driver-qemu.m4
+++ b/m4/virt-driver-qemu.m4
@@ -29,7 +29,7 @@ AC_DEFUN([LIBVIRT_DRIVER_CHECK_QEMU], [
   dnl There is no way qemu driver will work without JSON support
   AC_REQUIRE([LIBVIRT_CHECK_YAJL])
   if test "$with_qemu:$with_yajl" = "yes:no"; then
-    AC_MSG_ERROR([YAJL or YAJL2 is required to build QEMU driver])
+    AC_MSG_ERROR([YAJL is required to build QEMU driver])
   fi
   if test "$with_qemu" = "check"; then
     with_qemu=$with_yajl
diff --git a/m4/virt-yajl.m4 b/m4/virt-yajl.m4
index 7e905c2f77..dfc920d1f2 100644
--- a/m4/virt-yajl.m4
+++ b/m4/virt-yajl.m4
@@ -24,10 +24,8 @@ AC_DEFUN([LIBVIRT_ARG_YAJL],[
 AC_DEFUN([LIBVIRT_CHECK_YAJL],[
   dnl YAJL JSON library http://lloyd.github.com/yajl/
 
-  LIBVIRT_CHECK_LIB_ALT([YAJL], [yajl],
-                        [yajl_parse_complete], [yajl/yajl_common.h],
-                        [YAJL2], [yajl],
-                        [yajl_tree_parse], [yajl/yajl_common.h])
+  LIBVIRT_CHECK_PKG([YAJL], [yajl], [2.0.3])
+  AC_DEFINE_UNQUOTED([WITH_YAJL2], 1, [whether YAJL2 is enabled])
 ])
 
 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 04/10] build: require yajl >= 2.0.3
Posted by Daniel P. Berrangé 6 years, 8 months ago
On Wed, Apr 03, 2019 at 07:40:19AM +0200, Ján Tomko wrote:
> The pkg-config file was introduced by commit b729ded which was released
> in yajl 2.0.3.
> 
> Since all our supported platforms include at least yajl 2.0.4,
> use pkg-config to detect the library and set the minimum to 2.0.3.
> 
> https://repology.org/project/yajl/versions
> 
> Signed-off-by: Ján Tomko <jtomko@redhat.com>
> ---
>  m4/virt-driver-qemu.m4 | 2 +-
>  m4/virt-yajl.m4        | 6 ++----
>  2 files changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/m4/virt-driver-qemu.m4 b/m4/virt-driver-qemu.m4
> index 2934098cfd..0daf62b88e 100644
> --- a/m4/virt-driver-qemu.m4
> +++ b/m4/virt-driver-qemu.m4
> @@ -29,7 +29,7 @@ AC_DEFUN([LIBVIRT_DRIVER_CHECK_QEMU], [
>    dnl There is no way qemu driver will work without JSON support
>    AC_REQUIRE([LIBVIRT_CHECK_YAJL])
>    if test "$with_qemu:$with_yajl" = "yes:no"; then
> -    AC_MSG_ERROR([YAJL or YAJL2 is required to build QEMU driver])
> +    AC_MSG_ERROR([YAJL is required to build QEMU driver])

s/YAYL/YAJL 2/

>    fi
>    if test "$with_qemu" = "check"; then
>      with_qemu=$with_yajl
> diff --git a/m4/virt-yajl.m4 b/m4/virt-yajl.m4
> index 7e905c2f77..dfc920d1f2 100644
> --- a/m4/virt-yajl.m4
> +++ b/m4/virt-yajl.m4
> @@ -24,10 +24,8 @@ AC_DEFUN([LIBVIRT_ARG_YAJL],[
>  AC_DEFUN([LIBVIRT_CHECK_YAJL],[
>    dnl YAJL JSON library http://lloyd.github.com/yajl/
>  
> -  LIBVIRT_CHECK_LIB_ALT([YAJL], [yajl],
> -                        [yajl_parse_complete], [yajl/yajl_common.h],
> -                        [YAJL2], [yajl],
> -                        [yajl_tree_parse], [yajl/yajl_common.h])
> +  LIBVIRT_CHECK_PKG([YAJL], [yajl], [2.0.3])
> +  AC_DEFINE_UNQUOTED([WITH_YAJL2], 1, [whether YAJL2 is enabled])
>  ])
>  
>  AC_DEFUN([LIBVIRT_RESULT_YAJL],[

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>

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 04/10] build: require yajl >= 2.0.3
Posted by Olaf Hering 6 years, 7 months ago
On Wed, Apr 03, Ján Tomko wrote:

> Since all our supported platforms include at least yajl 2.0.4,
> use pkg-config to detect the library and set the minimum to 2.0.3.

In case SLE_12 is on the list of supported platforms, this kicked it
off of the list. SLE_12 (and Leap 42.3) comes with version 2.0.1.
SLE_15 has version 2.1.0.

Olaf
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 04/10] build: require yajl >= 2.0.3
Posted by Daniel P. Berrangé 6 years, 7 months ago
On Wed, May 08, 2019 at 06:21:21PM +0200, Olaf Hering wrote:
> On Wed, Apr 03, Ján Tomko wrote:
> 
> > Since all our supported platforms include at least yajl 2.0.4,
> > use pkg-config to detect the library and set the minimum to 2.0.3.
> 
> In case SLE_12 is on the list of supported platforms, this kicked it
> off of the list. SLE_12 (and Leap 42.3) comes with version 2.0.1.
> SLE_15 has version 2.1.0.

Yes, this is a mistake.

  https://libvirt.org/platforms.html

 "For distributions with long-lifetime releases, the project will aim
  to support the most recent major version at all times. Support for
  the previous major version will be dropped 2 years after the new 
  major version is released. For the purposes of identifying supported
  software versions, the project will look at RHEL, Debian, Ubuntu LTS,
  and SLES distros. "

SLE 15 was released  July 2018, so we should be continuing to support
SLE 12 until July 2020.

So we need to fix this to allow fallback to the non-pkg-config detection
for yajl.

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 04/10] build: require yajl >= 2.0.3
Posted by Andrea Bolognani 6 years, 7 months ago
On Wed, 2019-05-08 at 17:29 +0100, Daniel P. Berrangé wrote:
> On Wed, May 08, 2019 at 06:21:21PM +0200, Olaf Hering wrote:
> > On Wed, Apr 03, Ján Tomko wrote:
> > 
> > > Since all our supported platforms include at least yajl 2.0.4,
> > > use pkg-config to detect the library and set the minimum to 2.0.3.
> > 
> > In case SLE_12 is on the list of supported platforms, this kicked it
> > off of the list. SLE_12 (and Leap 42.3) comes with version 2.0.1.
> > SLE_15 has version 2.1.0.
> 
> Yes, this is a mistake.
> 
>   https://libvirt.org/platforms.html
> 
>  "For distributions with long-lifetime releases, the project will aim
>   to support the most recent major version at all times. Support for
>   the previous major version will be dropped 2 years after the new 
>   major version is released. For the purposes of identifying supported
>   software versions, the project will look at RHEL, Debian, Ubuntu LTS,
>   and SLES distros. "
> 
> SLE 15 was released  July 2018, so we should be continuing to support
> SLE 12 until July 2020.
> 
> So we need to fix this to allow fallback to the non-pkg-config detection
> for yajl.

Well that's a bummer, but at least we don't have to re-introduce
support for YAJL 1 - just fix YAJL 2 detection.

We should really add support for SLES, or whatever its CentOS
equivalent is, to libvirt-jenkins-ci, though.

-- 
Andrea Bolognani / Red Hat / Virtualization

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 04/10] build: require yajl >= 2.0.3
Posted by Ján Tomko 6 years, 7 months ago
On Thu, May 09, 2019 at 10:30:25AM +0200, Andrea Bolognani wrote:
>On Wed, 2019-05-08 at 17:29 +0100, Daniel P. Berrangé wrote:
>> On Wed, May 08, 2019 at 06:21:21PM +0200, Olaf Hering wrote:
>> > On Wed, Apr 03, Ján Tomko wrote:
>> >
>> > > Since all our supported platforms include at least yajl 2.0.4,
>> > > use pkg-config to detect the library and set the minimum to 2.0.3.
>> >
>> > In case SLE_12 is on the list of supported platforms, this kicked it
>> > off of the list. SLE_12 (and Leap 42.3) comes with version 2.0.1.
>> > SLE_15 has version 2.1.0.

Oops, so 'Leap 42.3' is the one I should be looking at to see what's in
SLE_12?
https://repology.org/project/yajl/versions

I will look into it after lunch.

Jano

>>
>> Yes, this is a mistake.
>>
>>   https://libvirt.org/platforms.html
>>
>>  "For distributions with long-lifetime releases, the project will aim
>>   to support the most recent major version at all times. Support for
>>   the previous major version will be dropped 2 years after the new
>>   major version is released. For the purposes of identifying supported
>>   software versions, the project will look at RHEL, Debian, Ubuntu LTS,
>>   and SLES distros. "
>>
>> SLE 15 was released  July 2018, so we should be continuing to support
>> SLE 12 until July 2020.
>>
>> So we need to fix this to allow fallback to the non-pkg-config detection
>> for yajl.
>
>Well that's a bummer, but at least we don't have to re-introduce
>support for YAJL 1 - just fix YAJL 2 detection.
>
>We should really add support for SLES, or whatever its CentOS
>equivalent is, to libvirt-jenkins-ci, though.
>
>-- 
>Andrea Bolognani / Red Hat / Virtualization
>
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 04/10] build: require yajl >= 2.0.3
Posted by Daniel P. Berrangé 6 years, 7 months ago
On Thu, May 09, 2019 at 10:40:51AM +0200, Ján Tomko wrote:
> On Thu, May 09, 2019 at 10:30:25AM +0200, Andrea Bolognani wrote:
> > On Wed, 2019-05-08 at 17:29 +0100, Daniel P. Berrangé wrote:
> > > On Wed, May 08, 2019 at 06:21:21PM +0200, Olaf Hering wrote:
> > > > On Wed, Apr 03, Ján Tomko wrote:
> > > >
> > > > > Since all our supported platforms include at least yajl 2.0.4,
> > > > > use pkg-config to detect the library and set the minimum to 2.0.3.
> > > >
> > > > In case SLE_12 is on the list of supported platforms, this kicked it
> > > > off of the list. SLE_12 (and Leap 42.3) comes with version 2.0.1.
> > > > SLE_15 has version 2.1.0.
> 
> Oops, so 'Leap 42.3' is the one I should be looking at to see what's in
> SLE_12?
> https://repology.org/project/yajl/versions

Yes, there's an explanation of the versioning scheme here:

  https://lists.opensuse.org/opensuse-project/2017-04/msg00014.html

openSUSE Leap 42.3 is eqiuv to SLE 12 sp3

So we can use Leap versions in repoology to track requirements for
SLE, which I didn't realize was possible in the past.

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 04/10] build: require yajl >= 2.0.3
Posted by Daniel P. Berrangé 6 years, 7 months ago
On Thu, May 09, 2019 at 10:30:25AM +0200, Andrea Bolognani wrote:
> On Wed, 2019-05-08 at 17:29 +0100, Daniel P. Berrangé wrote:
> > On Wed, May 08, 2019 at 06:21:21PM +0200, Olaf Hering wrote:
> > > On Wed, Apr 03, Ján Tomko wrote:
> > > 
> > > > Since all our supported platforms include at least yajl 2.0.4,
> > > > use pkg-config to detect the library and set the minimum to 2.0.3.
> > > 
> > > In case SLE_12 is on the list of supported platforms, this kicked it
> > > off of the list. SLE_12 (and Leap 42.3) comes with version 2.0.1.
> > > SLE_15 has version 2.1.0.
> > 
> > Yes, this is a mistake.
> > 
> >   https://libvirt.org/platforms.html
> > 
> >  "For distributions with long-lifetime releases, the project will aim
> >   to support the most recent major version at all times. Support for
> >   the previous major version will be dropped 2 years after the new 
> >   major version is released. For the purposes of identifying supported
> >   software versions, the project will look at RHEL, Debian, Ubuntu LTS,
> >   and SLES distros. "
> > 
> > SLE 15 was released  July 2018, so we should be continuing to support
> > SLE 12 until July 2020.
> > 
> > So we need to fix this to allow fallback to the non-pkg-config detection
> > for yajl.
> 
> Well that's a bummer, but at least we don't have to re-introduce
> support for YAJL 1 - just fix YAJL 2 detection.
> 
> We should really add support for SLES, or whatever its CentOS
> equivalent is, to libvirt-jenkins-ci, though.

Yeah, openSUSE Leap is the one we'd want to add support for. 

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