[libvirt PATCH 037/351] meson: add readline build option

Andrea Bolognani abologna at redhat.com
Wed Aug 5 10:52:15 UTC 2020


On Wed, 2020-08-05 at 12:24 +0200, Pavel Hrdina wrote:
> On Wed, Aug 05, 2020 at 11:52:30AM +0200, Andrea Bolognani wrote:
> > Oh, I see now the %meson macro is shipped as part of meson itself. We
> > definitely don't want to install two versions of meson, and if we end
> > up agreeing that keeping RPM builds working on CentOS is important we
> > will have to work around the need for the macro on CentOS 7 anyway,
> > so we should be able to use that same workaround on CentOS 8 too.
> 
> We need to figure it out somehow but I'm not sure that we want to copy
> the content of /usr/lib/rpm/macros.d/macros.meson file into our spec
> file.
> 
> Downstream maintainers will probably have to bundle meson 0.54.0
> together with libvirt in the packages, that was my original motivation
> not to introduce the BuildRequires in our spec file. It was pointed out
> during review that I should add it there, which actually makes sense as
> we depend on the macro.
> 
> For our testing purposes we can install the system wide meson and newer
> version from PyPi if required and remove the version requirement from
> the spec file.
> 
> That way downstream maintainers will get the system wide meson with
> meson macros for RPM and if required they will use the bundled meson to
> do the compilation.
> 
> Everything should work and we will not make our spec file even more
> complex.

So you're suggesting that on CentOS we install Meson both from RPM
and from PyPi, the former being used only for the RPM macros? I don't
think that's a good approach; in addition, that's not something that
we can accomodate in our CI pipeline without gross hacks.

Including the RPM macros directly in our spec file, conditionally and
only for CentOS of course, doesn't seem too bad: that's just 45 lines
of code, which is basically a drop in the ocean considering that our
spec file is almost 2000 lines long.

We could make the BuildRequires conditional in the same way.

> > I don't understand exactly what issue you ran into based on your
> > description, but even just looking at the pipeline shows that
> > something is not quite right, since readline was detected correctly
> > on CentOS before the switch and now it isn't. I'm hoping Pavel can
> > shed some light there :)
> 
> Sigh, so the autotools virt-readline.m4 file had a comment that
> rl_completion_quote_character function is available in all reasonable
> versions.
> 
> Well, it's not a function so meson obviously fails to detect it with
> cc.has_function()

Claiminig that it's a function might have been my mistake, sorry for
that O:-)

> I'll post a patch shortly to fix the readline detection.

Thanks!

-- 
Andrea Bolognani / Red Hat / Virtualization




More information about the libvir-list mailing list