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