[libvirt PATCH 00/31] fixes and cleanups for current build system

While working on rewrite to Meson I discovered some parts of our current build system that could be improved to help with the transition to Meson. It will make the review of the Meson patches a bit easier. Pavel Hrdina (31): build: use DLOPEN_LIBS directly configure: drop check for unsupported FreeBSD configure: introduce FLAT_NAMESPACE_FLAGS configure: remove usage of AC_HEADER_MAJOR Makefile: drop undefined LIB_CLOCK_GETTIME docs: remove incorrect generated files by apibuild.py docs: remove unused wrapstring.xsl file docs: drop %.png: %.fig rule m4: virt-sanlock: drop check for sanlock_inq_lockspace m4: virt-sanlock: use pkg-config to find libsanlock_client m4: virt-sanlock: drop check for SANLK_INQ_WAIT m4: virt-sanlock: drop check for sanlock_killpath() m4: virt-sanlock: drop check for sanlock_write_lockspace() m4: virt-secdriver-selinux: drop obsolete function checks m4: virt-selinux: drop check for selabel_open signature change m4: virt-xdr: rewrite XDR check po: change the format of POTFILES.in scripts: check-remote-protocol: remove unused OBJEXT argument src: Makefile: remove LOCK_CHECKING_CFLAGS leftover src: remove unnecessary -I$(srcdir)/secret include src: remote: Makefile: drop CFLAGS and LDFLAGS duplication src: logging: Makefile: drop undefined LOG_DRIVER src: util: rename some program macros src: util: Makefile: drop undefined LDEXP_LIBM src: util: Makefile: drop undefined OPENPTY_LIBS src: remote: Makefile: properly format sysconfdir in virtproxyd.conf src: unify virFileActivateDirOverride() tests: commandhelper: change how we detect if running as daemon tests: use WITH_NSS instead of NSS tools: virsh-secret: fix compilation error tools: wireshark: fix compilation errors build-aux/syntax-check.mk | 4 +- configure.ac | 26 +- docs/Makefile.am | 12 +- docs/wrapstring.xsl | 56 --- m4/virt-driver-modules.m4 | 3 - m4/virt-external-programs.m4 | 8 +- m4/virt-nss.m4 | 2 +- m4/virt-sanlock.m4 | 33 +- m4/virt-secdriver-selinux.m4 | 24 +- m4/virt-selinux.m4 | 17 - m4/virt-xdr.m4 | 39 +- po/Makefile.am | 6 +- po/POTFILES.in | 726 +++++++++++++-------------- scripts/check-remote-protocol.py | 5 +- src/Makefile.am | 25 +- src/admin/Makefile.inc.am | 1 + src/libvirt.c | 2 +- src/libvirt_private.syms | 3 +- src/libxl/Makefile.inc.am | 1 - src/locking/Makefile.inc.am | 2 + src/locking/lock_daemon.c | 2 +- src/locking/lock_driver_sanlock.c | 38 -- src/logging/Makefile.inc.am | 2 +- src/logging/log_daemon.c | 2 +- src/qemu/Makefile.inc.am | 1 - src/qemu/qemu_shim.c | 2 +- src/remote/Makefile.inc.am | 13 +- src/remote/remote_daemon.c | 2 +- src/security/virt-aa-helper.c | 2 +- src/storage/Makefile.inc.am | 4 - src/util/Makefile.inc.am | 3 - src/util/virfile.c | 25 +- src/util/virfile.h | 4 +- src/util/virnetdevmidonet.c | 4 +- src/util/virnetdevopenvswitch.c | 16 +- tests/Makefile.am | 10 +- tests/commandhelper.c | 2 +- tests/nssmock.c | 2 +- tests/nsstest.c | 2 +- tests/qemucapsprobe.c | 2 +- tests/securityselinuxhelper.c | 5 +- tests/testutils.c | 2 +- tools/virsh-secret.c | 2 +- tools/virsh.c | 2 +- tools/virt-admin.c | 2 +- tools/wireshark/src/packet-libvirt.c | 19 +- 46 files changed, 472 insertions(+), 693 deletions(-) delete mode 100644 docs/wrapstring.xsl -- 2.26.2

There is no need to have DRIVER_MODULES_LIBS as it's used only for libvirt.so. The other places are using DLOPEN_LIBS directly and dlopen is required if building with libvirtd. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-driver-modules.m4 | 3 --- src/Makefile.am | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/m4/virt-driver-modules.m4 b/m4/virt-driver-modules.m4 index 8bf8ecf2b1e..54b75e09739 100644 --- a/m4/virt-driver-modules.m4 +++ b/m4/virt-driver-modules.m4 @@ -38,17 +38,14 @@ AC_DEFUN([LIBVIRT_CHECK_DRIVER_MODULES], [ fi DRIVER_MODULES_CFLAGS= - DRIVER_MODULES_LIBS= if test "$with_driver_modules" = "yes"; then if test "$with_dlfcn" != "yes" || test "$with_dlopen" != "yes"; then AC_MSG_ERROR([You must have dlfcn.h / dlopen() support to build driver modules]) fi DRIVER_MODULES_LDFLAGS="-export-dynamic" - DRIVER_MODULES_LIBS="$DLOPEN_LIBS" fi AC_SUBST([DRIVER_MODULES_LDFLAGS]) - AC_SUBST([DRIVER_MODULES_LIBS]) ]) AC_DEFUN([LIBVIRT_RESULT_DRIVER_MODULES], [ diff --git a/src/Makefile.am b/src/Makefile.am index 12dd6b80e1e..447cff81659 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -439,7 +439,7 @@ libvirt_la_LDFLAGS += -Wl,-flat_namespace endif WITH_MACOS libvirt_la_LDFLAGS += $(NULL) libvirt_la_LIBADD += \ - $(DRIVER_MODULES_LIBS) + $(DLOPEN_LIBS) libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS) # Because we specify libvirt_la_DEPENDENCIES for $(LIBVIRT_SYMBOL_FILE), we # lose automake's automatic dependencies on an appropriate subset of -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
There is no need to have DRIVER_MODULES_LIBS as it's used only for libvirt.so. The other places are using DLOPEN_LIBS directly and dlopen is required if building with libvirtd.
It might be worth noting that it is mandatory since 5aec02dc37623bf739d1edd8f2be3e4ad9f94ff5 make: Drop building without driver modules
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-driver-modules.m4 | 3 --- src/Makefile.am | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

FreeBSD 10 is no longer supported by libvirt and the struct member ifi_oqdrops is usable without any define on later FreeBSD versions. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- configure.ac | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/configure.ac b/configure.ac index 6c8ac2f04bc..e4c0bea94df 100644 --- a/configure.ac +++ b/configure.ac @@ -857,17 +857,6 @@ if test $with_freebsd = yes; then ) fi -# FreeBSD 10-STABLE requires _IFI_OQDROPS to be defined for if_data.ifi_oqdrops -# field be available -old_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -D_IFI_OQDROPS" - -AC_CHECK_MEMBERS([struct if_data.ifi_oqdrops], - [], - [CFLAGS="$old_CFLAGS"], - [#include <net/if.h> - ]) - AC_CHECK_DECLS([clock_serv_t, host_get_clock_service, clock_get_time], [AC_DEFINE([HAVE_MACH_CLOCK_ROUTINES], [1], -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
FreeBSD 10 is no longer supported by libvirt and the struct member ifi_oqdrops is usable without any define on later FreeBSD versions.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- configure.ac | 11 ----------- 1 file changed, 11 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Set FLAT_NAMESPACE_FLAGS to -Wl,-flat_namespace in configure only for macOS and use it unconditionally in Makefiles. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- configure.ac | 13 +++++++++++++ src/Makefile.am | 10 +++------- tests/Makefile.am | 7 +++---- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/configure.ac b/configure.ac index e4c0bea94df..75695252898 100644 --- a/configure.ac +++ b/configure.ac @@ -189,6 +189,19 @@ esac AC_MSG_RESULT([$VERSION_SCRIPT_FLAGS]) AC_SUBST([VERSION_SCRIPT_FLAGS]) +dnl macOS has two-level namespaces by default. +dnl Override it to allow symbol replacement with DYLD_INSERT_LIBRARIES +case "$host" in + *-*-darwin*) + FLAT_NAMESPACE_FLAGS=-Wl,-flat_namespace + ;; + * ) + FLAT_NAMESPACE_FLAGS="" + ;; +esac +AC_MSG_RESULT([$FLAT_NAMESPACE_FLAGS]) +AC_SUBST([FLAT_NAMESPACE_FLAGS]) + dnl Specify if we rely on ifconfig instead of iproute2 (e.g. in case dnl we're working on BSD) want_ifconfig=no diff --git a/src/Makefile.am b/src/Makefile.am index 447cff81659..b893f4179e8 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -431,13 +431,9 @@ libvirt_la_LDFLAGS = \ -version-info $(LIBVIRT_VERSION_INFO) \ $(LIBVIRT_NODELETE) \ $(NO_UNDEFINED_LDFLAGS) \ - $(AM_LDFLAGS) -if WITH_MACOS -# macOS has two-level namespaces by default. -# Override it to allow symbol replacement with DYLD_INSERT_LIBRARIES -libvirt_la_LDFLAGS += -Wl,-flat_namespace -endif WITH_MACOS -libvirt_la_LDFLAGS += $(NULL) + $(FLAT_NAMESPACE_FLAGS) \ + $(AM_LDFLAGS) \ + $(NULL) libvirt_la_LIBADD += \ $(DLOPEN_LIBS) libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS) diff --git a/tests/Makefile.am b/tests/Makefile.am index 65d1ceeefdf..06d70ab559c 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -55,10 +55,9 @@ MOCKLIBS_LDFLAGS = -avoid-version \ DRIVERLIB_LDFLAGS = \ -avoid-version \ -rpath /evil/libtool/hack/to/force/shared/lib/creation \ - $(MINGW_EXTRA_LDFLAGS) -if WITH_MACOS -DRIVERLIB_LDFLAGS += -Wl,-flat_namespace -endif WITH_MACOS + $(MINGW_EXTRA_LDFLAGS) \ + $(FLAT_NAMESPACE_FLAGS) \ + $(NULL) PROBES_O = if WITH_DTRACE_PROBES -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
Set FLAT_NAMESPACE_FLAGS to -Wl,-flat_namespace in configure only for macOS and use it unconditionally in Makefiles.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- configure.ac | 13 +++++++++++++ src/Makefile.am | 10 +++------- tests/Makefile.am | 7 +++---- 3 files changed, 19 insertions(+), 11 deletions(-)
Much nicer. Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Commit <03c532cf9711dd6ad35380455a77141ef7d492ab> removed usage of MAJOR_IN_MKDEV and MAJOR_IN_SYSMACROS from libvirt which makes the AC_HEADER_MAJOR useless. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- configure.ac | 2 -- 1 file changed, 2 deletions(-) diff --git a/configure.ac b/configure.ac index 75695252898..f8d9038e4ab 100644 --- a/configure.ac +++ b/configure.ac @@ -155,8 +155,6 @@ AC_TYPE_UID_T dnl Support building Win32 DLLs (must appear *before* AM_PROG_LIBTOOL) AC_LIBTOOL_WIN32_DLL -AC_HEADER_MAJOR - m4_ifndef([LT_INIT], [ AM_PROG_LIBTOOL ], [ -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
Commit <03c532cf9711dd6ad35380455a77141ef7d492ab> removed usage of MAJOR_IN_MKDEV and MAJOR_IN_SYSMACROS from libvirt which makes the AC_HEADER_MAJOR useless.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- configure.ac | 2 -- 1 file changed, 2 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

This was introduced together with clock-time gnulib module by commit <d74e5a4dfc434d3a1d01856d013a7f50d910fa95> and removed from libvirt by commit <86d223a762990c9d529065a2d3b30b6a00ea63dd>. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/util/Makefile.inc.am | 1 - tests/Makefile.am | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/util/Makefile.inc.am b/src/util/Makefile.inc.am index 5bc60cb5ead..6d732518f40 100644 --- a/src/util/Makefile.inc.am +++ b/src/util/Makefile.inc.am @@ -289,7 +289,6 @@ libvirt_util_la_LIBADD = \ $(THREAD_LIBS) \ $(AUDIT_LIBS) \ $(DEVMAPPER_LIBS) \ - $(LIB_CLOCK_GETTIME) \ $(DBUS_LIBS) \ $(WIN32_EXTRA_LIBS) \ $(LIBXML_LIBS) \ diff --git a/tests/Makefile.am b/tests/Makefile.am index 06d70ab559c..c87b12d28c3 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1511,7 +1511,7 @@ endif WITH_LIBVIRTD if WITH_LIBVIRTD eventtest_SOURCES = \ eventtest.c testutils.h testutils.c -eventtest_LDADD = $(LIB_CLOCK_GETTIME) $(LDADDS) +eventtest_LDADD = $(LDADDS) endif WITH_LIBVIRTD libshunload_la_SOURCES = shunloadhelper.c -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
This was introduced together with clock-time gnulib module by commit <d74e5a4dfc434d3a1d01856d013a7f50d910fa95> and removed from libvirt by commit <86d223a762990c9d529065a2d3b30b6a00ea63dd>.
Adjustment archeology appreciated.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/util/Makefile.inc.am | 1 - tests/Makefile.am | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

These files are generated by xsltproc as part of html/index.html and html/index-%.html rules. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- docs/Makefile.am | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/docs/Makefile.am b/docs/Makefile.am index d8109bb65ca..c33ae8afb13 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -476,13 +476,7 @@ check-html: check-local: check-html -python_generated_files = \ - html/libvirt-libvirt-lxc.html \ - html/libvirt-libvirt-qemu.html \ - html/libvirt-libvirt-admin.html \ - html/libvirt-virterror.html \ - $(api_DATA) \ - $(NULL) +python_generated_files = $(api_DATA) APIBUILD=$(top_srcdir)/scripts/apibuild.py APIBUILD_STAMP=apibuild.py.stamp -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
These files are generated by xsltproc as part of html/index.html and html/index-%.html rules.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- docs/Makefile.am | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Commit <d672551816e106f2ce8a6a04658691db96435fb5> removed last usage of this file so drop it as well. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- docs/Makefile.am | 1 - docs/wrapstring.xsl | 56 --------------------------------------------- 2 files changed, 57 deletions(-) delete mode 100644 docs/wrapstring.xsl diff --git a/docs/Makefile.am b/docs/Makefile.am index c33ae8afb13..07a7d7a369c 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -358,7 +358,6 @@ schema_DATA = $(wildcard $(srcdir)/schemas/*.rng) EXTRA_DIST= \ site.xsl subsite.xsl newapi.xsl page.xsl \ - wrapstring.xsl \ $(dot_html_in) $(dot_rst) $(apipng) \ $(fig) $(assets) \ $(javascript) $(logofiles) \ diff --git a/docs/wrapstring.xsl b/docs/wrapstring.xsl deleted file mode 100644 index b468a700f5e..00000000000 --- a/docs/wrapstring.xsl +++ /dev/null @@ -1,56 +0,0 @@ -<?xml version="1.0"?> -<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> - -<!-- based on http://plasmasturm.org/log/xslwordwrap/ --> -<!-- Copyright 2010 Aristotle Pagaltzis; under the MIT licence --> -<!-- http://www.opensource.org/licenses/mit-license.php --> -<xsl:template name="wrap-string"> - <xsl:param name="str" /> - <xsl:param name="wrap-col" /> - <xsl:param name="break-mark" /> - <xsl:param name="pos" select="0" /> - <xsl:choose> - <xsl:when test="contains( $str, ' ' )"> - <xsl:variable name="first-word" select="substring-before( $str, ' ' )" /> - <xsl:variable name="pos-now" select="$pos + 1 + string-length( $first-word )" /> - <xsl:choose> - <xsl:when test="$pos > 0 and $pos-now >= $wrap-col"> - <xsl:copy-of select="$break-mark" /> - <xsl:call-template name="wrap-string"> - <xsl:with-param name="str" select="$str" /> - <xsl:with-param name="wrap-col" select="$wrap-col" /> - <xsl:with-param name="break-mark" select="$break-mark" /> - <xsl:with-param name="pos" select="0" /> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:if test="$pos > 0"> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:value-of select="$first-word" /> - <xsl:call-template name="wrap-string"> - <xsl:with-param name="str" select="substring-after( $str, ' ' )" /> - <xsl:with-param name="wrap-col" select="$wrap-col" /> - <xsl:with-param name="break-mark" select="$break-mark" /> - <xsl:with-param name="pos" select="$pos-now" /> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <xsl:choose> - <xsl:when test="$pos + string-length( $str ) >= $wrap-col"> - <xsl:copy-of select="$break-mark" /> - </xsl:when> - <xsl:otherwise> - <xsl:if test="$pos > 0"> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - <xsl:value-of select="$str" /> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -</xsl:stylesheet> -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
Commit <d672551816e106f2ce8a6a04658691db96435fb5> removed last usage of this file so drop it as well.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- docs/Makefile.am | 1 - docs/wrapstring.xsl | 56 --------------------------------------------- 2 files changed, 57 deletions(-) delete mode 100644 docs/wrapstring.xsl
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

convert bin is part of ImageMagick package and uses uniconvertor to create png file from fig files. Unfortunately uniconvertor is python2 only and not available in most recent distributions which makes the convert command fail with: sh: uniconvertor: command not found /usr/bin/mv: cannot stat '/tmp/magick-1397138DRT8Pzx4Qmoc.svg': No such file or directory convert: delegate failed `'uniconvertor' '%i' '%o.svg'; /usr/bin/mv '%o.svg' '%o'' @ error/delegate.c/InvokeDelegate/1958. convert: unable to open file `/tmp/magick-1397138S8ARueJXLXkc': No such file or directory @ error/constitute.c/ReadImage/605. convert: no images defined `docs/migration-managed-direct.png' @ error/convert.c/ConvertImageCommand/3226. It looks like that there are plans to somehow port uniconvertor into python3 but as part of different project color-picker but the job is far from complete. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- docs/Makefile.am | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/Makefile.am b/docs/Makefile.am index 07a7d7a369c..3fd8256e668 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -406,9 +406,6 @@ hvsupport.html.in: $(top_srcdir)/scripts/hvsupport.py $(api_DATA) \ $(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(top_srcdir)/scripts/hvsupport.py \ $(top_srcdir) $(top_builddir) > $@ || { rm $@ && exit 1; } -%.png: %.fig - convert -rotate 90 $< $@ - manpages/%.html.in: manpages/%.rst $(AM_V_GEN)$(MKDIR_P) `dirname $@` && \ grep -v '^:Manual ' < $< | \ -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
convert bin is part of ImageMagick package and uses uniconvertor to create png file from fig files.
Unfortunately uniconvertor is python2 only and not available in most recent distributions which makes the convert command fail with:
sh: uniconvertor: command not found /usr/bin/mv: cannot stat '/tmp/magick-1397138DRT8Pzx4Qmoc.svg': No such file or directory convert: delegate failed `'uniconvertor' '%i' '%o.svg'; /usr/bin/mv '%o.svg' '%o'' @ error/delegate.c/InvokeDelegate/1958. convert: unable to open file `/tmp/magick-1397138S8ARueJXLXkc': No such file or directory @ error/constitute.c/ReadImage/605. convert: no images defined `docs/migration-managed-direct.png' @ error/convert.c/ConvertImageCommand/3226.
It looks like that there are plans to somehow port uniconvertor into python3 but as part of different project color-picker but the job is far from complete.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- docs/Makefile.am | 3 --- 1 file changed, 3 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

On Thu, Jul 02, 2020 at 02:25:06PM +0200, Pavel Hrdina wrote:
convert bin is part of ImageMagick package and uses uniconvertor to create png file from fig files.
Unfortunately uniconvertor is python2 only and not available in most recent distributions which makes the convert command fail with:
sh: uniconvertor: command not found /usr/bin/mv: cannot stat '/tmp/magick-1397138DRT8Pzx4Qmoc.svg': No such file or directory convert: delegate failed `'uniconvertor' '%i' '%o.svg'; /usr/bin/mv '%o.svg' '%o'' @ error/delegate.c/InvokeDelegate/1958. convert: unable to open file `/tmp/magick-1397138S8ARueJXLXkc': No such file or directory @ error/constitute.c/ReadImage/605. convert: no images defined `docs/migration-managed-direct.png' @ error/convert.c/ConvertImageCommand/3226.
It looks like that there are plans to somehow port uniconvertor into python3 but as part of different project color-picker but the job is far from complete.
FYI i would support replacing the .fig files in git with .svgs which will avoid the extra conversion step. The .fig stuff is just too anachronistic to be worth worrying about. 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 :|

On 7/9/20 4:59 PM, Daniel P. Berrangé wrote:
On Thu, Jul 02, 2020 at 02:25:06PM +0200, Pavel Hrdina wrote:
convert bin is part of ImageMagick package and uses uniconvertor to create png file from fig files.
Unfortunately uniconvertor is python2 only and not available in most recent distributions which makes the convert command fail with:
sh: uniconvertor: command not found /usr/bin/mv: cannot stat '/tmp/magick-1397138DRT8Pzx4Qmoc.svg': No such file or directory convert: delegate failed `'uniconvertor' '%i' '%o.svg'; /usr/bin/mv '%o.svg' '%o'' @ error/delegate.c/InvokeDelegate/1958. convert: unable to open file `/tmp/magick-1397138S8ARueJXLXkc': No such file or directory @ error/constitute.c/ReadImage/605. convert: no images defined `docs/migration-managed-direct.png' @ error/convert.c/ConvertImageCommand/3226.
It looks like that there are plans to somehow port uniconvertor into python3 but as part of different project color-picker but the job is far from complete.
FYI i would support replacing the .fig files in git with .svgs which will avoid the extra conversion step. The .fig stuff is just too anachronistic to be worth worrying about.
Actually, I think that is the right way to go instead of just removing this rule. Because if we ever change a *.fig file we have to remember to regenerate the corresponding .png file. And then we can drop .png files from our repos. Michal

On Thu, Jul 09, 2020 at 05:13:47PM +0200, Michal Privoznik wrote:
On 7/9/20 4:59 PM, Daniel P. Berrangé wrote:
On Thu, Jul 02, 2020 at 02:25:06PM +0200, Pavel Hrdina wrote:
convert bin is part of ImageMagick package and uses uniconvertor to create png file from fig files.
Unfortunately uniconvertor is python2 only and not available in most recent distributions which makes the convert command fail with:
sh: uniconvertor: command not found /usr/bin/mv: cannot stat '/tmp/magick-1397138DRT8Pzx4Qmoc.svg': No such file or directory convert: delegate failed `'uniconvertor' '%i' '%o.svg'; /usr/bin/mv '%o.svg' '%o'' @ error/delegate.c/InvokeDelegate/1958. convert: unable to open file `/tmp/magick-1397138S8ARueJXLXkc': No such file or directory @ error/constitute.c/ReadImage/605. convert: no images defined `docs/migration-managed-direct.png' @ error/convert.c/ConvertImageCommand/3226.
It looks like that there are plans to somehow port uniconvertor into python3 but as part of different project color-picker but the job is far from complete.
FYI i would support replacing the .fig files in git with .svgs which will avoid the extra conversion step. The .fig stuff is just too anachronistic to be worth worrying about.
Actually, I think that is the right way to go instead of just removing this rule. Because if we ever change a *.fig file we have to remember to regenerate the corresponding .png file. And then we can drop .png files from our repos.
In practice that turned out to not be a good idea. When I did the new logos a few years back I tried having the pngs auto-generated at build time. The Inkscape SVG -> bitmap rendering was not very good quality wrt its anti-aliasing. Rendering them in GIMP gave far better results. I still think we should convert the fig to svg though, despite not using them in the build procss. 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 :|

This check was introduced by commit <96a02703daad4dc6663165adbc0feade9900cebd> to guard calling sanlock_inq_lockspace() function but it used SANLK_INQ_WAIT as a parameter which was introduced later. This was eventually fixed by commit <238dba0f9c925359cb3b8beddd8c8ae739cb4e06>. We can safely replace check for sanlock_inq_lockspace as that function was introduced in sanlock-1.9. The oldest used version, sanlock-2.2, is by Ubuntu 16.04. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-sanlock.m4 | 12 ++++-------- src/locking/lock_driver_sanlock.c | 2 +- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/m4/virt-sanlock.m4 b/m4/virt-sanlock.m4 index 00de7980e82..cc35b10b09f 100644 --- a/m4/virt-sanlock.m4 +++ b/m4/virt-sanlock.m4 @@ -29,6 +29,10 @@ AC_DEFUN([LIBVIRT_CHECK_SANLOCK],[ #include <stdint.h> #include <sanlock_admin.h> ]]) + if test sanlock_inq_wait = 1; then + AC_DEFINE_UNQUOTED([HAVE_SANLK_INQ_WAIT], 1, + [whether sanlock supports SANLK_INQ_WAIT]) + fi old_cppflags="$CPPFLAGS" old_libs="$LIBS" @@ -42,14 +46,6 @@ AC_DEFUN([LIBVIRT_CHECK_SANLOCK],[ [whether Sanlock supports sanlock_killpath]) fi - AC_CHECK_LIB([sanlock_client], [sanlock_inq_lockspace], - [sanlock_inq_lockspace=yes], [sanlock_inq_lockspace=no]) - if test "x$sanlock_inq_lockspace" = "xyes" && \ - test $sanlock_inq_wait = 1; then - AC_DEFINE_UNQUOTED([HAVE_SANLOCK_INQ_LOCKSPACE], 1, - [whether sanlock supports sanlock_inq_lockspace]) - fi - dnl Ideally, we would check for sanlock_add_lockspace_timeout here too, but dnl sanlock_write_lockspace has been introduced 2 releases after dnl sanlock_add_lockspace_timeout therefore if sanlock_write_lockspace is found diff --git a/src/locking/lock_driver_sanlock.c b/src/locking/lock_driver_sanlock.c index 4ebe98e86db..ea1c23eab69 100644 --- a/src/locking/lock_driver_sanlock.c +++ b/src/locking/lock_driver_sanlock.c @@ -361,7 +361,7 @@ virLockManagerSanlockSetupLockspace(virLockManagerSanlockDriverPtr driver) #endif if (rv < 0) { if (-rv == EINPROGRESS && --retries) { -#ifdef HAVE_SANLOCK_INQ_LOCKSPACE +#ifdef HAVE_SANLK_INQ_WAIT /* we have this function which blocks until lockspace change the * state. It returns 0 if lockspace has been added, -ENOENT if it * hasn't. */ -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
This check was introduced by commit <96a02703daad4dc6663165adbc0feade9900cebd> to guard calling sanlock_inq_lockspace() function but it used SANLK_INQ_WAIT as a parameter which was introduced later. This was eventually fixed by commit <238dba0f9c925359cb3b8beddd8c8ae739cb4e06>.
We can safely replace check for sanlock_inq_lockspace as that function was introduced in sanlock-1.9. The oldest used version, sanlock-2.2, is by Ubuntu 16.04.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-sanlock.m4 | 12 ++++-------- src/locking/lock_driver_sanlock.c | 2 +- 2 files changed, 5 insertions(+), 9 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

The last distribution supported by libvirt and lacking pkg-config file for libsanlock_client was Ubuntu 16.04. It is no longer supported so switch to pkg-config. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-sanlock.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/m4/virt-sanlock.m4 b/m4/virt-sanlock.m4 index cc35b10b09f..a7fba520dfc 100644 --- a/m4/virt-sanlock.m4 +++ b/m4/virt-sanlock.m4 @@ -22,7 +22,7 @@ AC_DEFUN([LIBVIRT_ARG_SANLOCK],[ ]) AC_DEFUN([LIBVIRT_CHECK_SANLOCK],[ - LIBVIRT_CHECK_LIB([SANLOCK], [sanlock_client], [sanlock_init], [sanlock.h]) + LIBVIRT_CHECK_PKG([SANLOCK], [libsanlock_client], [3.2.4]) if test "x$with_sanlock" = "xyes" ; then AC_CHECK_DECLS([SANLK_INQ_WAIT], [sanlock_inq_wait=1], [sanlock_inq_wait=0], [[ -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
The last distribution supported by libvirt and lacking pkg-config file for libsanlock_client was Ubuntu 16.04. It is no longer supported so switch to pkg-config.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-sanlock.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

SANLK_INQ_WAIT was introduced in sanlock 2.4 which is available in all supported OSes. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-sanlock.m4 | 9 --------- src/locking/lock_driver_sanlock.c | 6 ------ 2 files changed, 15 deletions(-) diff --git a/m4/virt-sanlock.m4 b/m4/virt-sanlock.m4 index a7fba520dfc..15a9bc6035f 100644 --- a/m4/virt-sanlock.m4 +++ b/m4/virt-sanlock.m4 @@ -25,15 +25,6 @@ AC_DEFUN([LIBVIRT_CHECK_SANLOCK],[ LIBVIRT_CHECK_PKG([SANLOCK], [libsanlock_client], [3.2.4]) if test "x$with_sanlock" = "xyes" ; then - AC_CHECK_DECLS([SANLK_INQ_WAIT], [sanlock_inq_wait=1], [sanlock_inq_wait=0], [[ - #include <stdint.h> - #include <sanlock_admin.h> - ]]) - if test sanlock_inq_wait = 1; then - AC_DEFINE_UNQUOTED([HAVE_SANLK_INQ_WAIT], 1, - [whether sanlock supports SANLK_INQ_WAIT]) - fi - old_cppflags="$CPPFLAGS" old_libs="$LIBS" CPPFLAGS="$CPPFLAGS $SANLOCK_CFLAGS" diff --git a/src/locking/lock_driver_sanlock.c b/src/locking/lock_driver_sanlock.c index ea1c23eab69..cc8266a2b35 100644 --- a/src/locking/lock_driver_sanlock.c +++ b/src/locking/lock_driver_sanlock.c @@ -361,18 +361,12 @@ virLockManagerSanlockSetupLockspace(virLockManagerSanlockDriverPtr driver) #endif if (rv < 0) { if (-rv == EINPROGRESS && --retries) { -#ifdef HAVE_SANLK_INQ_WAIT /* we have this function which blocks until lockspace change the * state. It returns 0 if lockspace has been added, -ENOENT if it * hasn't. */ VIR_DEBUG("Inquiring lockspace"); if (sanlock_inq_lockspace(&ls, SANLK_INQ_WAIT) < 0) VIR_DEBUG("Unable to inquire lockspace"); -#else - /* fall back to polling */ - VIR_DEBUG("Sleeping for %dms", LOCKSPACE_SLEEP); - g_usleep(LOCKSPACE_SLEEP * 1000); -#endif VIR_DEBUG("Retrying to add lockspace (left %d)", retries); goto retry; } -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
SANLK_INQ_WAIT was introduced in sanlock 2.4 which is available in all supported OSes.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-sanlock.m4 | 9 --------- src/locking/lock_driver_sanlock.c | 6 ------ 2 files changed, 15 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Function sanlock_killpath() was introduced in 2.4 version and had modified one of the arguments from `char *` into `const char *` in version 2.7. All of this is available in all supported OSes. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-sanlock.m4 | 7 ------- src/locking/lock_driver_sanlock.c | 13 ------------- 2 files changed, 20 deletions(-) diff --git a/m4/virt-sanlock.m4 b/m4/virt-sanlock.m4 index 15a9bc6035f..bf8c87866e5 100644 --- a/m4/virt-sanlock.m4 +++ b/m4/virt-sanlock.m4 @@ -30,13 +30,6 @@ AC_DEFUN([LIBVIRT_CHECK_SANLOCK],[ CPPFLAGS="$CPPFLAGS $SANLOCK_CFLAGS" LIBS="$LIBS $SANLOCK_LIBS" - AC_CHECK_LIB([sanlock_client], [sanlock_killpath], - [sanlock_killpath=yes], [sanlock_killpath=no]) - if test "x$sanlock_killpath" = "xyes" ; then - AC_DEFINE_UNQUOTED([HAVE_SANLOCK_KILLPATH], 1, - [whether Sanlock supports sanlock_killpath]) - fi - dnl Ideally, we would check for sanlock_add_lockspace_timeout here too, but dnl sanlock_write_lockspace has been introduced 2 releases after dnl sanlock_add_lockspace_timeout therefore if sanlock_write_lockspace is found diff --git a/src/locking/lock_driver_sanlock.c b/src/locking/lock_driver_sanlock.c index cc8266a2b35..2f1eded1247 100644 --- a/src/locking/lock_driver_sanlock.c +++ b/src/locking/lock_driver_sanlock.c @@ -812,7 +812,6 @@ static int virLockManagerSanlockAddResource(virLockManagerPtr lock, return 0; } -#if HAVE_SANLOCK_KILLPATH static int virLockManagerSanlockRegisterKillscript(int sock, const char *vmuri, @@ -894,18 +893,6 @@ virLockManagerSanlockRegisterKillscript(int sock, VIR_FREE(args); return ret; } -#else -static int -virLockManagerSanlockRegisterKillscript(int sock G_GNUC_UNUSED, - const char *vmuri G_GNUC_UNUSED, - const char *uuidstr G_GNUC_UNUSED, - virDomainLockFailureAction action G_GNUC_UNUSED) -{ - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("sanlock is too old to support lock failure action")); - return -1; -} -#endif static int virLockManagerSanlockAcquire(virLockManagerPtr lock, const char *state, -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
Function sanlock_killpath() was introduced in 2.4 version and had modified one of the arguments from `char *` into `const char *` in version 2.7. All of this is available in all supported OSes.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-sanlock.m4 | 7 ------- src/locking/lock_driver_sanlock.c | 13 ------------- 2 files changed, 20 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Function sanlock_write_lockspace() was introduced in 2.7 version which is available in all supported OSes. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-sanlock.m4 | 11 ----------- src/locking/lock_driver_sanlock.c | 19 ------------------- 2 files changed, 30 deletions(-) diff --git a/m4/virt-sanlock.m4 b/m4/virt-sanlock.m4 index bf8c87866e5..eb05ab6934b 100644 --- a/m4/virt-sanlock.m4 +++ b/m4/virt-sanlock.m4 @@ -30,17 +30,6 @@ AC_DEFUN([LIBVIRT_CHECK_SANLOCK],[ CPPFLAGS="$CPPFLAGS $SANLOCK_CFLAGS" LIBS="$LIBS $SANLOCK_LIBS" - dnl Ideally, we would check for sanlock_add_lockspace_timeout here too, but - dnl sanlock_write_lockspace has been introduced 2 releases after - dnl sanlock_add_lockspace_timeout therefore if sanlock_write_lockspace is found - dnl it is safe to assume sanlock_add_lockspace_timeout is present too. - AC_CHECK_LIB([sanlock_client], [sanlock_write_lockspace], - [sanlock_write_lockspace=yes], [sanlock_write_lockspace=no]) - if test "x$sanlock_write_lockspace" = "xyes" ; then - AC_DEFINE_UNQUOTED([HAVE_SANLOCK_IO_TIMEOUT], 1, - [whether sanlock supports sanlock_write_lockspace]) - fi - AC_CHECK_LIB([sanlock_client], [sanlock_strerror], [sanlock_strerror=yes], [sanlock_strerror=no]) if test "x$sanlock_strerror" = "xyes" ; then diff --git a/src/locking/lock_driver_sanlock.c b/src/locking/lock_driver_sanlock.c index 2f1eded1247..a37a298cf5a 100644 --- a/src/locking/lock_driver_sanlock.c +++ b/src/locking/lock_driver_sanlock.c @@ -178,20 +178,10 @@ virLockManagerSanlockInitLockspace(virLockManagerSanlockDriverPtr driver, { int ret; -#ifdef HAVE_SANLOCK_IO_TIMEOUT const int max_hosts = 0; /* defaults used in sanlock_init() implementation */ const unsigned int lockspaceFlags = 0; ret = sanlock_write_lockspace(ls, max_hosts, lockspaceFlags, driver->io_timeout); -#else - if (driver->io_timeout) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("unable to use io_timeout with this version of sanlock")); - return -ENOTSUP; - } - - ret = sanlock_init(ls, NULL, 0, 0); -#endif return ret; } @@ -349,16 +339,7 @@ virLockManagerSanlockSetupLockspace(virLockManagerSanlockDriverPtr driver) * or we can fallback to polling. */ retry: -#ifdef HAVE_SANLOCK_IO_TIMEOUT rv = sanlock_add_lockspace_timeout(&ls, 0, driver->io_timeout); -#else - if (driver->io_timeout) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("unable to use io_timeout with this version of sanlock")); - goto error; - } - rv = sanlock_add_lockspace(&ls, 0); -#endif if (rv < 0) { if (-rv == EINPROGRESS && --retries) { /* we have this function which blocks until lockspace change the -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
Function sanlock_write_lockspace() was introduced in 2.7 version which is available in all supported OSes.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-sanlock.m4 | 11 ----------- src/locking/lock_driver_sanlock.c | 19 ------------------- 2 files changed, 30 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

All of the listed functions are available in libselinux version 2.2. Our supported OSes start with version 2.5 so there is no need to check it. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-secdriver-selinux.m4 | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/m4/virt-secdriver-selinux.m4 b/m4/virt-secdriver-selinux.m4 index a48569fc33a..4174249a510 100644 --- a/m4/virt-secdriver-selinux.m4 +++ b/m4/virt-secdriver-selinux.m4 @@ -32,28 +32,8 @@ AC_DEFUN([LIBVIRT_SECDRIVER_CHECK_SELINUX], [ AC_MSG_ERROR([You must install the libselinux development package and enable SELinux with the --with-selinux=yes in order to compile libvirt --with-secdriver-selinux=yes]) fi elif test "$with_secdriver_selinux" != "no"; then - old_CFLAGS="$CFLAGS" - old_LIBS="$LIBS" - CFLAGS="$CFLAGS $SELINUX_CFLAGS" - LIBS="$CFLAGS $SELINUX_LIBS" - - fail=0 - AC_CHECK_FUNC([selinux_virtual_domain_context_path], [], [fail=1]) - AC_CHECK_FUNC([selinux_virtual_image_context_path], [], [fail=1]) - AC_CHECK_FUNCS([selinux_lxc_contexts_path]) - CFLAGS="$old_CFLAGS" - LIBS="$old_LIBS" - - if test "$fail" = "1" ; then - if test "$with_secdriver_selinux" = "check" ; then - with_secdriver_selinux=no - else - AC_MSG_ERROR([You must install libselinux development package >= 2.0.82 in order to compile libvirt --with-secdriver-selinux=yes]) - fi - else - with_secdriver_selinux=yes - AC_DEFINE_UNQUOTED([WITH_SECDRIVER_SELINUX], 1, [whether SELinux security driver is available]) - fi + with_secdriver_selinux=yes + AC_DEFINE_UNQUOTED([WITH_SECDRIVER_SELINUX], 1, [whether SELinux security driver is available]) fi AM_CONDITIONAL([WITH_SECDRIVER_SELINUX], [test "$with_secdriver_selinux" != "no"]) ]) -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
All of the listed functions are available in libselinux version 2.2. Our supported OSes start with version 2.5 so there is no need to check it.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-secdriver-selinux.m4 | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-)
This doesn't look right with no changes to the SELinux driver.
diff --git a/m4/virt-secdriver-selinux.m4 b/m4/virt-secdriver-selinux.m4 index a48569fc33a..4174249a510 100644 --- a/m4/virt-secdriver-selinux.m4 +++ b/m4/virt-secdriver-selinux.m4 @@ -32,28 +32,8 @@ AC_DEFUN([LIBVIRT_SECDRIVER_CHECK_SELINUX], [ AC_MSG_ERROR([You must install the libselinux development package and enable SELinux with the --with-selinux=yes in order to compile libvirt --with-secdriver-selinux=yes]) fi elif test "$with_secdriver_selinux" != "no"; then - old_CFLAGS="$CFLAGS" - old_LIBS="$LIBS" - CFLAGS="$CFLAGS $SELINUX_CFLAGS" - LIBS="$CFLAGS $SELINUX_LIBS" - - fail=0 - AC_CHECK_FUNC([selinux_virtual_domain_context_path], [], [fail=1]) - AC_CHECK_FUNC([selinux_virtual_image_context_path], [], [fail=1]) - AC_CHECK_FUNCS([selinux_lxc_contexts_path])
This means the code relying on HAVE_SELINUX_LXC_CONTEXTS_PATH will no longer be compiled. Jano
- CFLAGS="$old_CFLAGS" - LIBS="$old_LIBS" - - if test "$fail" = "1" ; then - if test "$with_secdriver_selinux" = "check" ; then - with_secdriver_selinux=no - else - AC_MSG_ERROR([You must install libselinux development package >= 2.0.82 in order to compile libvirt --with-secdriver-selinux=yes]) - fi - else - with_secdriver_selinux=yes - AC_DEFINE_UNQUOTED([WITH_SECDRIVER_SELINUX], 1, [whether SELinux security driver is available]) - fi + with_secdriver_selinux=yes + AC_DEFINE_UNQUOTED([WITH_SECDRIVER_SELINUX], 1, [whether SELinux security driver is available]) fi AM_CONDITIONAL([WITH_SECDRIVER_SELINUX], [test "$with_secdriver_selinux" != "no"]) ]) -- 2.26.2

On Thu, Jul 09, 2020 at 05:00:39PM +0200, Ján Tomko wrote:
On a Thursday in 2020, Pavel Hrdina wrote:
All of the listed functions are available in libselinux version 2.2. Our supported OSes start with version 2.5 so there is no need to check it.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-secdriver-selinux.m4 | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-)
This doesn't look right with no changes to the SELinux driver.
diff --git a/m4/virt-secdriver-selinux.m4 b/m4/virt-secdriver-selinux.m4 index a48569fc33a..4174249a510 100644 --- a/m4/virt-secdriver-selinux.m4 +++ b/m4/virt-secdriver-selinux.m4 @@ -32,28 +32,8 @@ AC_DEFUN([LIBVIRT_SECDRIVER_CHECK_SELINUX], [ AC_MSG_ERROR([You must install the libselinux development package and enable SELinux with the --with-selinux=yes in order to compile libvirt --with-secdriver-selinux=yes]) fi elif test "$with_secdriver_selinux" != "no"; then - old_CFLAGS="$CFLAGS" - old_LIBS="$LIBS" - CFLAGS="$CFLAGS $SELINUX_CFLAGS" - LIBS="$CFLAGS $SELINUX_LIBS" - - fail=0 - AC_CHECK_FUNC([selinux_virtual_domain_context_path], [], [fail=1]) - AC_CHECK_FUNC([selinux_virtual_image_context_path], [], [fail=1]) - AC_CHECK_FUNCS([selinux_lxc_contexts_path])
This means the code relying on HAVE_SELINUX_LXC_CONTEXTS_PATH will no longer be compiled.
Jano
Nice catch, thanks, I'll fix that in v2. Pavel

All supported OSes have at least libselinux version 2.5 so it's safe to drop this check. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-selinux.m4 | 17 ----------------- tests/securityselinuxhelper.c | 5 ++--- 2 files changed, 2 insertions(+), 20 deletions(-) diff --git a/m4/virt-selinux.m4 b/m4/virt-selinux.m4 index 64e69808440..fb541e207ed 100644 --- a/m4/virt-selinux.m4 +++ b/m4/virt-selinux.m4 @@ -27,23 +27,6 @@ AC_DEFUN([LIBVIRT_CHECK_SELINUX],[ [fgetfilecon_raw], [selinux/selinux.h]) if test "$with_selinux" = "yes"; then - # libselinux changed signatures for 2.5 - # TODO: Drop once we don't support Ubuntu 16.04 - AC_CACHE_CHECK([for selinux selabel_open parameter type], - [lv_cv_selabel_open_const], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include <selinux/selinux.h> -#include <selinux/label.h> -struct selabel_handle *selabel_open(unsigned, struct selinux_opt *, unsigned); - ]])], - [lv_cv_selabel_open_const=''], - [lv_cv_selabel_open_const='const'])]) - AC_DEFINE_UNQUOTED([VIR_SELINUX_OPEN_CONST], [$lv_cv_selabel_open_const], - [Define to empty or 'const' depending on how SELinux qualifies its - selabel_open parameter]) - AC_MSG_CHECKING([SELinux mount point]) if test "$with_selinux_mount" = "check" || test -z "$with_selinux_mount"; then if test -d /sys/fs/selinux ; then diff --git a/tests/securityselinuxhelper.c b/tests/securityselinuxhelper.c index f89224c07a4..0556241fd55 100644 --- a/tests/securityselinuxhelper.c +++ b/tests/securityselinuxhelper.c @@ -53,8 +53,7 @@ static const char *(*real_selinux_lxc_contexts_path)(void); #endif static struct selabel_handle *(*real_selabel_open)(unsigned int backend, - VIR_SELINUX_OPEN_CONST - struct selinux_opt *opts, + const struct selinux_opt *opts, unsigned nopts); static void (*real_selabel_close)(struct selabel_handle *handle); static int (*real_selabel_lookup_raw)(struct selabel_handle *handle, @@ -288,7 +287,7 @@ const char *selinux_lxc_contexts_path(void) struct selabel_handle * selabel_open(unsigned int backend, - VIR_SELINUX_OPEN_CONST struct selinux_opt *opts, + const struct selinux_opt *opts, unsigned nopts) { char *fake_handle; -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
All supported OSes have at least libselinux version 2.5 so it's safe to drop this check.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-selinux.m4 | 17 ----------------- tests/securityselinuxhelper.c | 5 ++--- 2 files changed, 2 insertions(+), 20 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

The current code to check XDR support was obsolete and way to complicated. On linux we can use pkg-config to check for libtirpc and have the CFLAGS and LIBS configured by it as well. On MinGW there is portablexdr library which installs header files directly into system include directory. On FreeBSD and macOS XDR functions are part of libc so there is no library needed, we just need to call AM_CONDITIONAL to silence configure which otherwise complains about missing WITH_XDR. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-xdr.m4 | 39 +++++++++++-------------------------- src/Makefile.am | 4 +++- src/admin/Makefile.inc.am | 1 + src/locking/Makefile.inc.am | 2 ++ src/logging/Makefile.inc.am | 1 + src/remote/Makefile.inc.am | 1 + 6 files changed, 19 insertions(+), 29 deletions(-) diff --git a/m4/virt-xdr.m4 b/m4/virt-xdr.m4 index 83754157d9a..09d0c2ba2f4 100644 --- a/m4/virt-xdr.m4 +++ b/m4/virt-xdr.m4 @@ -18,37 +18,20 @@ dnl <http://www.gnu.org/licenses/>. dnl AC_DEFUN([LIBVIRT_CHECK_XDR], [ - with_xdr="no" if test x"$with_remote" = x"yes" || test x"$with_libvirtd" = x"yes"; then - dnl Where are the XDR functions? - dnl If portablexdr is installed, prefer that. - dnl Otherwise try -lxdr (some MinGW) - dnl -ltirpc (glibc 2.13.90 or newer) or none (most Unix) - AC_CHECK_LIB([portablexdr],[xdrmem_create],[],[ - AC_SEARCH_LIBS([xdrmem_create],[xdr tirpc],[], - [AC_MSG_ERROR([Cannot find a XDR library])]) - ]) + dnl On MinGW portablexdr provides XDR functions, on linux they are + dnl provided by libtirpc and on FreeBSD/macOS there is no need to + dnl use extra library as it's provided by libc directly. + with_xdr="yes" - dnl Recent glibc requires -I/usr/include/tirpc for <rpc/rpc.h> - old_CFLAGS=$CFLAGS - AC_CACHE_CHECK([where to find <rpc/rpc.h>], [lv_cv_xdr_cflags], [ - for add_CFLAGS in '' '-I/usr/include/tirpc' 'missing'; do - if test x"$add_CFLAGS" = xmissing; then - lv_cv_xdr_cflags=missing; break - fi - CFLAGS="$old_CFLAGS $add_CFLAGS" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <rpc/rpc.h> - ]])], [lv_cv_xdr_cflags=${add_CFLAGS:-none}; break]) - done - ]) - CFLAGS=$old_CFLAGS - case $lv_cv_xdr_cflags in - none) XDR_CFLAGS= ;; - missing) AC_MSG_ERROR([Unable to find <rpc/rpc.h>]) ;; - *) XDR_CFLAGS=$lv_cv_xdr_cflags ;; - esac - AC_SUBST([XDR_CFLAGS]) + if test "$with_win" = "yes"; then + LIBVIRT_CHECK_LIB([XDR], [portablexdr], [xdrmem_create], [rpc/rpc.h]) + elif test "$with_linux" = "yes"; then + LIBVIRT_CHECK_PKG([XDR], [libtirpc], [0.1.10]) + else + AM_CONDITIONAL([WITH_XDR], [test "x$with_xdr" = "xyes"]) + fi fi ]) diff --git a/src/Makefile.am b/src/Makefile.am index b893f4179e8..8b0cbb6fc86 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -435,7 +435,9 @@ libvirt_la_LDFLAGS = \ $(AM_LDFLAGS) \ $(NULL) libvirt_la_LIBADD += \ - $(DLOPEN_LIBS) + $(DLOPEN_LIBS) \ + $(XDR_LIBS) \ + $(NULL) libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS) # Because we specify libvirt_la_DEPENDENCIES for $(LIBVIRT_SYMBOL_FILE), we # lose automake's automatic dependencies on an appropriate subset of diff --git a/src/admin/Makefile.inc.am b/src/admin/Makefile.inc.am index 0a9717adec6..8556a3b8523 100644 --- a/src/admin/Makefile.inc.am +++ b/src/admin/Makefile.inc.am @@ -72,6 +72,7 @@ libvirt_admin_la_LDFLAGS = \ libvirt_admin_la_LIBADD = \ libvirt.la \ + $(XDR_LIBS) \ $(CAPNG_LIBS) \ $(YAJL_LIBS) \ $(DEVMAPPER_LIBS) \ diff --git a/src/locking/Makefile.inc.am b/src/locking/Makefile.inc.am index d1bf49cd3fb..ab01d8e0482 100644 --- a/src/locking/Makefile.inc.am +++ b/src/locking/Makefile.inc.am @@ -120,6 +120,7 @@ lockd_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF) lockd_la_LIBADD = \ libvirt.la \ $(GLIB_LIBS) \ + $(XDR_LIBS) \ $(NULL) augeas_DATA += locking/libvirt_lockd.aug if WITH_DTRACE_PROBES @@ -161,6 +162,7 @@ virtlockd_CFLAGS = \ virtlockd_LDFLAGS = \ $(AM_LDFLAGS) \ $(PIE_LDFLAGS) \ + $(XDR_LIBS) \ $(NO_UNDEFINED_LDFLAGS) \ $(NULL) virtlockd_LDADD = \ diff --git a/src/logging/Makefile.inc.am b/src/logging/Makefile.inc.am index dc09cfe3fa8..4be33765e9e 100644 --- a/src/logging/Makefile.inc.am +++ b/src/logging/Makefile.inc.am @@ -99,6 +99,7 @@ virtlogd_CFLAGS = \ virtlogd_LDFLAGS = \ $(AM_LDFLAGS) \ $(PIE_LDFLAGS) \ + $(XDR_LIBS) \ $(NO_UNDEFINED_LDFLAGS) \ $(NULL) virtlogd_LDADD = \ diff --git a/src/remote/Makefile.inc.am b/src/remote/Makefile.inc.am index 1b1be8340df..8a40c96563c 100644 --- a/src/remote/Makefile.inc.am +++ b/src/remote/Makefile.inc.am @@ -69,6 +69,7 @@ REMOTE_DAEMON_LD_ADD = \ $(LIBXML_LIBS) \ $(GNUTLS_LIBS) \ $(SASL_LIBS) \ + $(XDR_LIBS) \ $(DBUS_LIBS) \ $(LIBNL_LIBS) \ $(NULL) -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
The current code to check XDR support was obsolete and way to complicated.
On linux we can use pkg-config to check for libtirpc and have the CFLAGS and LIBS configured by it as well.
On MinGW there is portablexdr library which installs header files directly into system include directory.
On FreeBSD and macOS XDR functions are part of libc so there is no library needed, we just need to call AM_CONDITIONAL to silence configure which otherwise complains about missing WITH_XDR.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-xdr.m4 | 39 +++++++++++-------------------------- src/Makefile.am | 4 +++- src/admin/Makefile.inc.am | 1 + src/locking/Makefile.inc.am | 2 ++ src/logging/Makefile.inc.am | 1 + src/remote/Makefile.inc.am | 1 + 6 files changed, 19 insertions(+), 29 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

On Thu, Jul 02, 2020 at 02:25:14PM +0200, Pavel Hrdina wrote:
The current code to check XDR support was obsolete and way to complicated.
On linux we can use pkg-config to check for libtirpc and have the CFLAGS and LIBS configured by it as well.
Historically we've only used libtirpc for RHEL 8, not RHEL 7, though I see it did indeed exist in RHEL-7. So this would mean the libvirt.spec.in condition needs updating.
On MinGW there is portablexdr library which installs header files directly into system include directory.
On FreeBSD and macOS XDR functions are part of libc so there is no library needed, we just need to call AM_CONDITIONAL to silence configure which otherwise complains about missing WITH_XDR.
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 :|

On Thu, Jul 09, 2020 at 04:12:29PM +0100, Daniel P. Berrangé wrote:
On Thu, Jul 02, 2020 at 02:25:14PM +0200, Pavel Hrdina wrote:
The current code to check XDR support was obsolete and way to complicated.
On linux we can use pkg-config to check for libtirpc and have the CFLAGS and LIBS configured by it as well.
Historically we've only used libtirpc for RHEL 8, not RHEL 7, though I see it did indeed exist in RHEL-7. So this would mean the libvirt.spec.in condition needs updating.
Good point, I'll fix it in v2, thanks. Pavel

There is no need to provide relative paths to the current directory if we provide search paths using --directory option for xgentext. In addition it will make libvirt.pot file look cleaner as it will not contain relative paths to current directory. It improves the situation for developers which are using different build path as that would change the relative path in libvirt.pot as well. After this patch it will not happen anymore. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- build-aux/syntax-check.mk | 4 +- po/Makefile.am | 6 +- po/POTFILES.in | 726 +++++++++++++++++++------------------- 3 files changed, 369 insertions(+), 367 deletions(-) diff --git a/build-aux/syntax-check.mk b/build-aux/syntax-check.mk index d47a92b530f..bf229c42a74 100644 --- a/build-aux/syntax-check.mk +++ b/build-aux/syntax-check.mk @@ -1869,8 +1869,8 @@ sc_po_check: gen_source_files { $(VC_LIST_EXCEPT); echo $(generated_files); } \ | xargs perl $(perl_translatable_files_list_) \ | xargs $(GREP) -E -l '$(_gl_translatable_string_re)' \ - | $(SED) 's|^$(_dot_escaped_srcdir)|@SRCDIR@|' \ - | $(SED) 's|^$(_dot_escaped_builddir)|@BUILDDIR@|' \ + | $(SED) 's|^$(_dot_escaped_srcdir)/|@SRCDIR@|' \ + | $(SED) 's|^$(_dot_escaped_builddir)/|@BUILDDIR@|' \ | sort -u > $@-2; \ diff -u -L $(po_file) -L $(po_file) $@-1 $@-2 \ || { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; }; \ diff --git a/po/Makefile.am b/po/Makefile.am index 95294aa12ed..f0698b455ba 100644 --- a/po/Makefile.am +++ b/po/Makefile.am @@ -7,8 +7,8 @@ LANGS := $(shell cat $(srcdir)/LINGUAS) POTFILES_IN = $(srcdir)/POTFILES.in POTFILES: $(POTFILES_IN) $(AM_V_GEN) cat $(POTFILES_IN) | \ - $(SED) 's|[@]SRCDIR[@]|$(top_srcdir)|' | \ - $(SED) 's|[@]BUILDDIR[@]|$(top_builddir)|' > $@ + $(SED) 's|[@]SRCDIR[@]||' | \ + $(SED) 's|[@]BUILDDIR[@]||' > $@ POTFILE_DEPS = $(shell cat POTFILES) POTFILE := $(DOMAIN).pot POFILES := $(LANGS:%=%.po) @@ -32,6 +32,8 @@ XGETTEXT_ARGS = \ --package-name="$(PACKAGE_NAME)" \ --package-version="$(PACKAGE_VERSION)" \ --msgid-bugs-address="$(MSGID_BUGS_ADDRESS)" \ + --directory="$(top_srcdir)" \ + --directory="$(top_builddir)" \ --sort-output \ $(NULL) diff --git a/po/POTFILES.in b/po/POTFILES.in index af52054aa4e..b10008ae3d5 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,363 +1,363 @@ -@BUILDDIR@/src/access/viraccessapicheck.c -@BUILDDIR@/src/access/viraccessapichecklxc.c -@BUILDDIR@/src/access/viraccessapicheckqemu.c -@BUILDDIR@/src/admin/admin_client.h -@BUILDDIR@/src/admin/admin_server_dispatch_stubs.h -@BUILDDIR@/src/remote/remote_client_bodies.h -@BUILDDIR@/src/remote/remote_daemon_dispatch_stubs.h -@SRCDIR@/src/access/viraccessdriverpolkit.c -@SRCDIR@/src/access/viraccessmanager.c -@SRCDIR@/src/admin/admin_server.c -@SRCDIR@/src/admin/admin_server_dispatch.c -@SRCDIR@/src/admin/libvirt-admin.c -@SRCDIR@/src/bhyve/bhyve_capabilities.c -@SRCDIR@/src/bhyve/bhyve_command.c -@SRCDIR@/src/bhyve/bhyve_device.c -@SRCDIR@/src/bhyve/bhyve_domain.c -@SRCDIR@/src/bhyve/bhyve_driver.c -@SRCDIR@/src/bhyve/bhyve_monitor.c -@SRCDIR@/src/bhyve/bhyve_parse_command.c -@SRCDIR@/src/bhyve/bhyve_process.c -@SRCDIR@/src/conf/backup_conf.c -@SRCDIR@/src/conf/capabilities.c -@SRCDIR@/src/conf/checkpoint_conf.c -@SRCDIR@/src/conf/cpu_conf.c -@SRCDIR@/src/conf/device_conf.c -@SRCDIR@/src/conf/domain_addr.c -@SRCDIR@/src/conf/domain_capabilities.c -@SRCDIR@/src/conf/domain_conf.c -@SRCDIR@/src/conf/domain_event.c -@SRCDIR@/src/conf/interface_conf.c -@SRCDIR@/src/conf/netdev_bandwidth_conf.c -@SRCDIR@/src/conf/netdev_vlan_conf.c -@SRCDIR@/src/conf/netdev_vport_profile_conf.c -@SRCDIR@/src/conf/network_conf.c -@SRCDIR@/src/conf/networkcommon_conf.c -@SRCDIR@/src/conf/node_device_conf.c -@SRCDIR@/src/conf/node_device_util.c -@SRCDIR@/src/conf/numa_conf.c -@SRCDIR@/src/conf/nwfilter_conf.c -@SRCDIR@/src/conf/nwfilter_params.c -@SRCDIR@/src/conf/object_event.c -@SRCDIR@/src/conf/secret_conf.c -@SRCDIR@/src/conf/snapshot_conf.c -@SRCDIR@/src/conf/storage_adapter_conf.c -@SRCDIR@/src/conf/storage_conf.c -@SRCDIR@/src/conf/virchrdev.c -@SRCDIR@/src/conf/virdomainmomentobjlist.c -@SRCDIR@/src/conf/virdomainobjlist.c -@SRCDIR@/src/conf/virnetworkobj.c -@SRCDIR@/src/conf/virnetworkportdef.c -@SRCDIR@/src/conf/virnodedeviceobj.c -@SRCDIR@/src/conf/virnwfilterbindingdef.c -@SRCDIR@/src/conf/virnwfilterbindingobj.c -@SRCDIR@/src/conf/virnwfilterbindingobjlist.c -@SRCDIR@/src/conf/virnwfilterobj.c -@SRCDIR@/src/conf/virsavecookie.c -@SRCDIR@/src/conf/virsecretobj.c -@SRCDIR@/src/conf/virstorageobj.c -@SRCDIR@/src/cpu/cpu.c -@SRCDIR@/src/cpu/cpu_arm.c -@SRCDIR@/src/cpu/cpu_map.c -@SRCDIR@/src/cpu/cpu_ppc64.c -@SRCDIR@/src/cpu/cpu_s390.c -@SRCDIR@/src/cpu/cpu_x86.c -@SRCDIR@/src/datatypes.c -@SRCDIR@/src/driver.c -@SRCDIR@/src/esx/esx_driver.c -@SRCDIR@/src/esx/esx_network_driver.c -@SRCDIR@/src/esx/esx_storage_backend_iscsi.c -@SRCDIR@/src/esx/esx_storage_backend_vmfs.c -@SRCDIR@/src/esx/esx_storage_driver.c -@SRCDIR@/src/esx/esx_stream.c -@SRCDIR@/src/esx/esx_util.c -@SRCDIR@/src/esx/esx_util.h -@SRCDIR@/src/esx/esx_vi.c -@SRCDIR@/src/esx/esx_vi_methods.c -@SRCDIR@/src/esx/esx_vi_types.c -@SRCDIR@/src/hyperv/hyperv_driver.c -@SRCDIR@/src/hyperv/hyperv_util.c -@SRCDIR@/src/hyperv/hyperv_wmi.c -@SRCDIR@/src/hypervisor/domain_cgroup.c -@SRCDIR@/src/hypervisor/domain_driver.c -@SRCDIR@/src/hypervisor/virclosecallbacks.c -@SRCDIR@/src/hypervisor/virhostdev.c -@SRCDIR@/src/interface/interface_backend_netcf.c -@SRCDIR@/src/interface/interface_backend_udev.c -@SRCDIR@/src/internal.h -@SRCDIR@/src/libvirt-domain-checkpoint.c -@SRCDIR@/src/libvirt-domain-snapshot.c -@SRCDIR@/src/libvirt-domain.c -@SRCDIR@/src/libvirt-host.c -@SRCDIR@/src/libvirt-lxc.c -@SRCDIR@/src/libvirt-network.c -@SRCDIR@/src/libvirt-nodedev.c -@SRCDIR@/src/libvirt-nwfilter.c -@SRCDIR@/src/libvirt-qemu.c -@SRCDIR@/src/libvirt-secret.c -@SRCDIR@/src/libvirt-storage.c -@SRCDIR@/src/libvirt-stream.c -@SRCDIR@/src/libvirt.c -@SRCDIR@/src/libxl/libxl_capabilities.c -@SRCDIR@/src/libxl/libxl_conf.c -@SRCDIR@/src/libxl/libxl_domain.c -@SRCDIR@/src/libxl/libxl_driver.c -@SRCDIR@/src/libxl/libxl_migration.c -@SRCDIR@/src/libxl/xen_common.c -@SRCDIR@/src/libxl/xen_xl.c -@SRCDIR@/src/libxl/xen_xm.c -@SRCDIR@/src/locking/lock_daemon.c -@SRCDIR@/src/locking/lock_daemon_dispatch.c -@SRCDIR@/src/locking/lock_driver_lockd.c -@SRCDIR@/src/locking/lock_driver_sanlock.c -@SRCDIR@/src/locking/lock_manager.c -@SRCDIR@/src/locking/sanlock_helper.c -@SRCDIR@/src/logging/log_daemon.c -@SRCDIR@/src/logging/log_daemon_dispatch.c -@SRCDIR@/src/logging/log_handler.c -@SRCDIR@/src/logging/log_manager.c -@SRCDIR@/src/lxc/lxc_cgroup.c -@SRCDIR@/src/lxc/lxc_conf.c -@SRCDIR@/src/lxc/lxc_container.c -@SRCDIR@/src/lxc/lxc_controller.c -@SRCDIR@/src/lxc/lxc_domain.c -@SRCDIR@/src/lxc/lxc_driver.c -@SRCDIR@/src/lxc/lxc_fuse.c -@SRCDIR@/src/lxc/lxc_hostdev.c -@SRCDIR@/src/lxc/lxc_native.c -@SRCDIR@/src/lxc/lxc_process.c -@SRCDIR@/src/network/bridge_driver.c -@SRCDIR@/src/network/bridge_driver_linux.c -@SRCDIR@/src/network/leaseshelper.c -@SRCDIR@/src/node_device/node_device_driver.c -@SRCDIR@/src/node_device/node_device_hal.c -@SRCDIR@/src/node_device/node_device_udev.c -@SRCDIR@/src/nwfilter/nwfilter_dhcpsnoop.c -@SRCDIR@/src/nwfilter/nwfilter_driver.c -@SRCDIR@/src/nwfilter/nwfilter_ebiptables_driver.c -@SRCDIR@/src/nwfilter/nwfilter_gentech_driver.c -@SRCDIR@/src/nwfilter/nwfilter_learnipaddr.c -@SRCDIR@/src/openvz/openvz_conf.c -@SRCDIR@/src/openvz/openvz_driver.c -@SRCDIR@/src/openvz/openvz_util.c -@SRCDIR@/src/qemu/qemu_agent.c -@SRCDIR@/src/qemu/qemu_alias.c -@SRCDIR@/src/qemu/qemu_backup.c -@SRCDIR@/src/qemu/qemu_block.c -@SRCDIR@/src/qemu/qemu_blockjob.c -@SRCDIR@/src/qemu/qemu_capabilities.c -@SRCDIR@/src/qemu/qemu_cgroup.c -@SRCDIR@/src/qemu/qemu_checkpoint.c -@SRCDIR@/src/qemu/qemu_command.c -@SRCDIR@/src/qemu/qemu_conf.c -@SRCDIR@/src/qemu/qemu_dbus.c -@SRCDIR@/src/qemu/qemu_domain.c -@SRCDIR@/src/qemu/qemu_domainjob.c -@SRCDIR@/src/qemu/qemu_domain_address.c -@SRCDIR@/src/qemu/qemu_driver.c -@SRCDIR@/src/qemu/qemu_extdevice.c -@SRCDIR@/src/qemu/qemu_firmware.c -@SRCDIR@/src/qemu/qemu_hostdev.c -@SRCDIR@/src/qemu/qemu_hotplug.c -@SRCDIR@/src/qemu/qemu_interface.c -@SRCDIR@/src/qemu/qemu_interop_config.c -@SRCDIR@/src/qemu/qemu_migration.c -@SRCDIR@/src/qemu/qemu_migration_cookie.c -@SRCDIR@/src/qemu/qemu_migration_params.c -@SRCDIR@/src/qemu/qemu_monitor.c -@SRCDIR@/src/qemu/qemu_monitor_json.c -@SRCDIR@/src/qemu/qemu_monitor_text.c -@SRCDIR@/src/qemu/qemu_process.c -@SRCDIR@/src/qemu/qemu_qapi.c -@SRCDIR@/src/qemu/qemu_slirp.c -@SRCDIR@/src/qemu/qemu_tpm.c -@SRCDIR@/src/qemu/qemu_validate.c -@SRCDIR@/src/qemu/qemu_vhost_user.c -@SRCDIR@/src/qemu/qemu_vhost_user_gpu.c -@SRCDIR@/src/qemu/qemu_virtiofs.c -@SRCDIR@/src/remote/remote_daemon.c -@SRCDIR@/src/remote/remote_daemon_config.c -@SRCDIR@/src/remote/remote_daemon_dispatch.c -@SRCDIR@/src/remote/remote_daemon_stream.c -@SRCDIR@/src/remote/remote_driver.c -@SRCDIR@/src/rpc/virkeepalive.c -@SRCDIR@/src/rpc/virnetclient.c -@SRCDIR@/src/rpc/virnetclientprogram.c -@SRCDIR@/src/rpc/virnetclientstream.c -@SRCDIR@/src/rpc/virnetdaemon.c -@SRCDIR@/src/rpc/virnetlibsshsession.c -@SRCDIR@/src/rpc/virnetmessage.c -@SRCDIR@/src/rpc/virnetsaslcontext.c -@SRCDIR@/src/rpc/virnetserver.c -@SRCDIR@/src/rpc/virnetserverclient.c -@SRCDIR@/src/rpc/virnetserverprogram.c -@SRCDIR@/src/rpc/virnetserverservice.c -@SRCDIR@/src/rpc/virnetsocket.c -@SRCDIR@/src/rpc/virnetsshsession.c -@SRCDIR@/src/rpc/virnettlscontext.c -@SRCDIR@/src/secret/secret_driver.c -@SRCDIR@/src/security/security_apparmor.c -@SRCDIR@/src/security/security_dac.c -@SRCDIR@/src/security/security_driver.c -@SRCDIR@/src/security/security_manager.c -@SRCDIR@/src/security/security_selinux.c -@SRCDIR@/src/security/security_util.c -@SRCDIR@/src/security/virt-aa-helper.c -@SRCDIR@/src/storage/parthelper.c -@SRCDIR@/src/storage/storage_backend.c -@SRCDIR@/src/storage/storage_backend_disk.c -@SRCDIR@/src/storage/storage_backend_fs.c -@SRCDIR@/src/storage/storage_backend_gluster.c -@SRCDIR@/src/storage/storage_backend_iscsi.c -@SRCDIR@/src/storage/storage_backend_iscsi_direct.c -@SRCDIR@/src/storage/storage_backend_logical.c -@SRCDIR@/src/storage/storage_backend_mpath.c -@SRCDIR@/src/storage/storage_backend_rbd.c -@SRCDIR@/src/storage/storage_backend_scsi.c -@SRCDIR@/src/storage/storage_backend_sheepdog.c -@SRCDIR@/src/storage/storage_backend_vstorage.c -@SRCDIR@/src/storage/storage_backend_zfs.c -@SRCDIR@/src/storage/storage_driver.c -@SRCDIR@/src/storage/storage_file_fs.c -@SRCDIR@/src/storage/storage_file_gluster.c -@SRCDIR@/src/storage/storage_util.c -@SRCDIR@/src/test/test_driver.c -@SRCDIR@/src/util/iohelper.c -@SRCDIR@/src/util/viralloc.c -@SRCDIR@/src/util/virarptable.c -@SRCDIR@/src/util/viraudit.c -@SRCDIR@/src/util/virauth.c -@SRCDIR@/src/util/virauthconfig.c -@SRCDIR@/src/util/virbitmap.c -@SRCDIR@/src/util/vircgroup.c -@SRCDIR@/src/util/vircgroupbackend.c -@SRCDIR@/src/util/vircgroupbackend.h -@SRCDIR@/src/util/vircgroupv1.c -@SRCDIR@/src/util/vircgroupv2.c -@SRCDIR@/src/util/vircgroupv2devices.c -@SRCDIR@/src/util/vircommand.c -@SRCDIR@/src/util/virconf.c -@SRCDIR@/src/util/vircrypto.c -@SRCDIR@/src/util/virdaemon.c -@SRCDIR@/src/util/virdbus.c -@SRCDIR@/src/util/virdnsmasq.c -@SRCDIR@/src/util/virerror.c -@SRCDIR@/src/util/virerror.h -@SRCDIR@/src/util/virevent.c -@SRCDIR@/src/util/vireventthread.c -@SRCDIR@/src/util/virfcp.c -@SRCDIR@/src/util/virfdstream.c -@SRCDIR@/src/util/virfile.c -@SRCDIR@/src/util/virfilecache.c -@SRCDIR@/src/util/virfirewall.c -@SRCDIR@/src/util/virfirewalld.c -@SRCDIR@/src/util/virfirmware.c -@SRCDIR@/src/util/virhash.c -@SRCDIR@/src/util/virhook.c -@SRCDIR@/src/util/virhostcpu.c -@SRCDIR@/src/util/virhostmem.c -@SRCDIR@/src/util/virhostuptime.c -@SRCDIR@/src/util/viridentity.c -@SRCDIR@/src/util/virinitctl.c -@SRCDIR@/src/util/viriptables.c -@SRCDIR@/src/util/viriscsi.c -@SRCDIR@/src/util/virjson.c -@SRCDIR@/src/util/virlease.c -@SRCDIR@/src/util/virlockspace.c -@SRCDIR@/src/util/virlog.c -@SRCDIR@/src/util/virmacmap.c -@SRCDIR@/src/util/virmdev.c -@SRCDIR@/src/util/virmodule.c -@SRCDIR@/src/util/virnetdev.c -@SRCDIR@/src/util/virnetdevbandwidth.c -@SRCDIR@/src/util/virnetdevbridge.c -@SRCDIR@/src/util/virnetdevip.c -@SRCDIR@/src/util/virnetdevmacvlan.c -@SRCDIR@/src/util/virnetdevmidonet.c -@SRCDIR@/src/util/virnetdevopenvswitch.c -@SRCDIR@/src/util/virnetdevtap.c -@SRCDIR@/src/util/virnetdevveth.c -@SRCDIR@/src/util/virnetdevvportprofile.c -@SRCDIR@/src/util/virnetlink.c -@SRCDIR@/src/util/virnodesuspend.c -@SRCDIR@/src/util/virnuma.c -@SRCDIR@/src/util/virnvme.c -@SRCDIR@/src/util/virobject.c -@SRCDIR@/src/util/virpci.c -@SRCDIR@/src/util/virperf.c -@SRCDIR@/src/util/virpidfile.c -@SRCDIR@/src/util/virpolkit.c -@SRCDIR@/src/util/virportallocator.c -@SRCDIR@/src/util/virprocess.c -@SRCDIR@/src/util/virqemu.c -@SRCDIR@/src/util/virrandom.c -@SRCDIR@/src/util/virresctrl.c -@SRCDIR@/src/util/virrotatingfile.c -@SRCDIR@/src/util/virscsi.c -@SRCDIR@/src/util/virscsihost.c -@SRCDIR@/src/util/virscsivhost.c -@SRCDIR@/src/util/virsecret.c -@SRCDIR@/src/util/virsocketaddr.c -@SRCDIR@/src/util/virstorageencryption.c -@SRCDIR@/src/util/virstoragefile.c -@SRCDIR@/src/util/virstoragefilebackend.c -@SRCDIR@/src/util/virstring.c -@SRCDIR@/src/util/virsysinfo.c -@SRCDIR@/src/util/virsystemd.c -@SRCDIR@/src/util/virthreadjob.c -@SRCDIR@/src/util/virthreadpool.c -@SRCDIR@/src/util/virtime.c -@SRCDIR@/src/util/virtpm.c -@SRCDIR@/src/util/virtypedparam-public.c -@SRCDIR@/src/util/virtypedparam.c -@SRCDIR@/src/util/viruri.c -@SRCDIR@/src/util/virusb.c -@SRCDIR@/src/util/virutil.c -@SRCDIR@/src/util/virvhba.c -@SRCDIR@/src/util/virvsock.c -@SRCDIR@/src/util/virxml.c -@SRCDIR@/src/vbox/vbox_XPCOMCGlue.c -@SRCDIR@/src/vbox/vbox_common.c -@SRCDIR@/src/vbox/vbox_driver.c -@SRCDIR@/src/vbox/vbox_network.c -@SRCDIR@/src/vbox/vbox_snapshot_conf.c -@SRCDIR@/src/vbox/vbox_storage.c -@SRCDIR@/src/vbox/vbox_tmpl.c -@SRCDIR@/src/vmware/vmware_conf.c -@SRCDIR@/src/vmware/vmware_driver.c -@SRCDIR@/src/vmx/vmx.c -@SRCDIR@/src/vz/vz_driver.c -@SRCDIR@/src/vz/vz_sdk.c -@SRCDIR@/src/vz/vz_utils.c -@SRCDIR@/src/vz/vz_utils.h -@SRCDIR@/tests/virpolkittest.c -@SRCDIR@/tools/libvirt-guests.sh.in -@SRCDIR@/tools/virsh-backup.c -@SRCDIR@/tools/virsh-checkpoint.c -@SRCDIR@/tools/virsh-completer-host.c -@SRCDIR@/tools/virsh-console.c -@SRCDIR@/tools/virsh-domain-monitor.c -@SRCDIR@/tools/virsh-domain.c -@SRCDIR@/tools/virsh-edit.c -@SRCDIR@/tools/virsh-host.c -@SRCDIR@/tools/virsh-interface.c -@SRCDIR@/tools/virsh-network.c -@SRCDIR@/tools/virsh-nodedev.c -@SRCDIR@/tools/virsh-nwfilter.c -@SRCDIR@/tools/virsh-pool.c -@SRCDIR@/tools/virsh-secret.c -@SRCDIR@/tools/virsh-snapshot.c -@SRCDIR@/tools/virsh-util.c -@SRCDIR@/tools/virsh-volume.c -@SRCDIR@/tools/virsh.c -@SRCDIR@/tools/virsh.h -@SRCDIR@/tools/virt-admin.c -@SRCDIR@/tools/virt-host-validate-bhyve.c -@SRCDIR@/tools/virt-host-validate-common.c -@SRCDIR@/tools/virt-host-validate-lxc.c -@SRCDIR@/tools/virt-host-validate-qemu.c -@SRCDIR@/tools/virt-host-validate.c -@SRCDIR@/tools/virt-login-shell-helper.c -@SRCDIR@/tools/vsh-table.c -@SRCDIR@/tools/vsh.c -@SRCDIR@/tools/vsh.h +@BUILDDIR@src/access/viraccessapicheck.c +@BUILDDIR@src/access/viraccessapichecklxc.c +@BUILDDIR@src/access/viraccessapicheckqemu.c +@BUILDDIR@src/admin/admin_client.h +@BUILDDIR@src/admin/admin_server_dispatch_stubs.h +@BUILDDIR@src/remote/remote_client_bodies.h +@BUILDDIR@src/remote/remote_daemon_dispatch_stubs.h +@SRCDIR@src/access/viraccessdriverpolkit.c +@SRCDIR@src/access/viraccessmanager.c +@SRCDIR@src/admin/admin_server.c +@SRCDIR@src/admin/admin_server_dispatch.c +@SRCDIR@src/admin/libvirt-admin.c +@SRCDIR@src/bhyve/bhyve_capabilities.c +@SRCDIR@src/bhyve/bhyve_command.c +@SRCDIR@src/bhyve/bhyve_device.c +@SRCDIR@src/bhyve/bhyve_domain.c +@SRCDIR@src/bhyve/bhyve_driver.c +@SRCDIR@src/bhyve/bhyve_monitor.c +@SRCDIR@src/bhyve/bhyve_parse_command.c +@SRCDIR@src/bhyve/bhyve_process.c +@SRCDIR@src/conf/backup_conf.c +@SRCDIR@src/conf/capabilities.c +@SRCDIR@src/conf/checkpoint_conf.c +@SRCDIR@src/conf/cpu_conf.c +@SRCDIR@src/conf/device_conf.c +@SRCDIR@src/conf/domain_addr.c +@SRCDIR@src/conf/domain_capabilities.c +@SRCDIR@src/conf/domain_conf.c +@SRCDIR@src/conf/domain_event.c +@SRCDIR@src/conf/interface_conf.c +@SRCDIR@src/conf/netdev_bandwidth_conf.c +@SRCDIR@src/conf/netdev_vlan_conf.c +@SRCDIR@src/conf/netdev_vport_profile_conf.c +@SRCDIR@src/conf/network_conf.c +@SRCDIR@src/conf/networkcommon_conf.c +@SRCDIR@src/conf/node_device_conf.c +@SRCDIR@src/conf/node_device_util.c +@SRCDIR@src/conf/numa_conf.c +@SRCDIR@src/conf/nwfilter_conf.c +@SRCDIR@src/conf/nwfilter_params.c +@SRCDIR@src/conf/object_event.c +@SRCDIR@src/conf/secret_conf.c +@SRCDIR@src/conf/snapshot_conf.c +@SRCDIR@src/conf/storage_adapter_conf.c +@SRCDIR@src/conf/storage_conf.c +@SRCDIR@src/conf/virchrdev.c +@SRCDIR@src/conf/virdomainmomentobjlist.c +@SRCDIR@src/conf/virdomainobjlist.c +@SRCDIR@src/conf/virnetworkobj.c +@SRCDIR@src/conf/virnetworkportdef.c +@SRCDIR@src/conf/virnodedeviceobj.c +@SRCDIR@src/conf/virnwfilterbindingdef.c +@SRCDIR@src/conf/virnwfilterbindingobj.c +@SRCDIR@src/conf/virnwfilterbindingobjlist.c +@SRCDIR@src/conf/virnwfilterobj.c +@SRCDIR@src/conf/virsavecookie.c +@SRCDIR@src/conf/virsecretobj.c +@SRCDIR@src/conf/virstorageobj.c +@SRCDIR@src/cpu/cpu.c +@SRCDIR@src/cpu/cpu_arm.c +@SRCDIR@src/cpu/cpu_map.c +@SRCDIR@src/cpu/cpu_ppc64.c +@SRCDIR@src/cpu/cpu_s390.c +@SRCDIR@src/cpu/cpu_x86.c +@SRCDIR@src/datatypes.c +@SRCDIR@src/driver.c +@SRCDIR@src/esx/esx_driver.c +@SRCDIR@src/esx/esx_network_driver.c +@SRCDIR@src/esx/esx_storage_backend_iscsi.c +@SRCDIR@src/esx/esx_storage_backend_vmfs.c +@SRCDIR@src/esx/esx_storage_driver.c +@SRCDIR@src/esx/esx_stream.c +@SRCDIR@src/esx/esx_util.c +@SRCDIR@src/esx/esx_util.h +@SRCDIR@src/esx/esx_vi.c +@SRCDIR@src/esx/esx_vi_methods.c +@SRCDIR@src/esx/esx_vi_types.c +@SRCDIR@src/hyperv/hyperv_driver.c +@SRCDIR@src/hyperv/hyperv_util.c +@SRCDIR@src/hyperv/hyperv_wmi.c +@SRCDIR@src/hypervisor/domain_cgroup.c +@SRCDIR@src/hypervisor/domain_driver.c +@SRCDIR@src/hypervisor/virclosecallbacks.c +@SRCDIR@src/hypervisor/virhostdev.c +@SRCDIR@src/interface/interface_backend_netcf.c +@SRCDIR@src/interface/interface_backend_udev.c +@SRCDIR@src/internal.h +@SRCDIR@src/libvirt-domain-checkpoint.c +@SRCDIR@src/libvirt-domain-snapshot.c +@SRCDIR@src/libvirt-domain.c +@SRCDIR@src/libvirt-host.c +@SRCDIR@src/libvirt-lxc.c +@SRCDIR@src/libvirt-network.c +@SRCDIR@src/libvirt-nodedev.c +@SRCDIR@src/libvirt-nwfilter.c +@SRCDIR@src/libvirt-qemu.c +@SRCDIR@src/libvirt-secret.c +@SRCDIR@src/libvirt-storage.c +@SRCDIR@src/libvirt-stream.c +@SRCDIR@src/libvirt.c +@SRCDIR@src/libxl/libxl_capabilities.c +@SRCDIR@src/libxl/libxl_conf.c +@SRCDIR@src/libxl/libxl_domain.c +@SRCDIR@src/libxl/libxl_driver.c +@SRCDIR@src/libxl/libxl_migration.c +@SRCDIR@src/libxl/xen_common.c +@SRCDIR@src/libxl/xen_xl.c +@SRCDIR@src/libxl/xen_xm.c +@SRCDIR@src/locking/lock_daemon.c +@SRCDIR@src/locking/lock_daemon_dispatch.c +@SRCDIR@src/locking/lock_driver_lockd.c +@SRCDIR@src/locking/lock_driver_sanlock.c +@SRCDIR@src/locking/lock_manager.c +@SRCDIR@src/locking/sanlock_helper.c +@SRCDIR@src/logging/log_daemon.c +@SRCDIR@src/logging/log_daemon_dispatch.c +@SRCDIR@src/logging/log_handler.c +@SRCDIR@src/logging/log_manager.c +@SRCDIR@src/lxc/lxc_cgroup.c +@SRCDIR@src/lxc/lxc_conf.c +@SRCDIR@src/lxc/lxc_container.c +@SRCDIR@src/lxc/lxc_controller.c +@SRCDIR@src/lxc/lxc_domain.c +@SRCDIR@src/lxc/lxc_driver.c +@SRCDIR@src/lxc/lxc_fuse.c +@SRCDIR@src/lxc/lxc_hostdev.c +@SRCDIR@src/lxc/lxc_native.c +@SRCDIR@src/lxc/lxc_process.c +@SRCDIR@src/network/bridge_driver.c +@SRCDIR@src/network/bridge_driver_linux.c +@SRCDIR@src/network/leaseshelper.c +@SRCDIR@src/node_device/node_device_driver.c +@SRCDIR@src/node_device/node_device_hal.c +@SRCDIR@src/node_device/node_device_udev.c +@SRCDIR@src/nwfilter/nwfilter_dhcpsnoop.c +@SRCDIR@src/nwfilter/nwfilter_driver.c +@SRCDIR@src/nwfilter/nwfilter_ebiptables_driver.c +@SRCDIR@src/nwfilter/nwfilter_gentech_driver.c +@SRCDIR@src/nwfilter/nwfilter_learnipaddr.c +@SRCDIR@src/openvz/openvz_conf.c +@SRCDIR@src/openvz/openvz_driver.c +@SRCDIR@src/openvz/openvz_util.c +@SRCDIR@src/qemu/qemu_agent.c +@SRCDIR@src/qemu/qemu_alias.c +@SRCDIR@src/qemu/qemu_backup.c +@SRCDIR@src/qemu/qemu_block.c +@SRCDIR@src/qemu/qemu_blockjob.c +@SRCDIR@src/qemu/qemu_capabilities.c +@SRCDIR@src/qemu/qemu_cgroup.c +@SRCDIR@src/qemu/qemu_checkpoint.c +@SRCDIR@src/qemu/qemu_command.c +@SRCDIR@src/qemu/qemu_conf.c +@SRCDIR@src/qemu/qemu_dbus.c +@SRCDIR@src/qemu/qemu_domain.c +@SRCDIR@src/qemu/qemu_domain_address.c +@SRCDIR@src/qemu/qemu_domainjob.c +@SRCDIR@src/qemu/qemu_driver.c +@SRCDIR@src/qemu/qemu_extdevice.c +@SRCDIR@src/qemu/qemu_firmware.c +@SRCDIR@src/qemu/qemu_hostdev.c +@SRCDIR@src/qemu/qemu_hotplug.c +@SRCDIR@src/qemu/qemu_interface.c +@SRCDIR@src/qemu/qemu_interop_config.c +@SRCDIR@src/qemu/qemu_migration.c +@SRCDIR@src/qemu/qemu_migration_cookie.c +@SRCDIR@src/qemu/qemu_migration_params.c +@SRCDIR@src/qemu/qemu_monitor.c +@SRCDIR@src/qemu/qemu_monitor_json.c +@SRCDIR@src/qemu/qemu_monitor_text.c +@SRCDIR@src/qemu/qemu_process.c +@SRCDIR@src/qemu/qemu_qapi.c +@SRCDIR@src/qemu/qemu_slirp.c +@SRCDIR@src/qemu/qemu_tpm.c +@SRCDIR@src/qemu/qemu_validate.c +@SRCDIR@src/qemu/qemu_vhost_user.c +@SRCDIR@src/qemu/qemu_vhost_user_gpu.c +@SRCDIR@src/qemu/qemu_virtiofs.c +@SRCDIR@src/remote/remote_daemon.c +@SRCDIR@src/remote/remote_daemon_config.c +@SRCDIR@src/remote/remote_daemon_dispatch.c +@SRCDIR@src/remote/remote_daemon_stream.c +@SRCDIR@src/remote/remote_driver.c +@SRCDIR@src/rpc/virkeepalive.c +@SRCDIR@src/rpc/virnetclient.c +@SRCDIR@src/rpc/virnetclientprogram.c +@SRCDIR@src/rpc/virnetclientstream.c +@SRCDIR@src/rpc/virnetdaemon.c +@SRCDIR@src/rpc/virnetlibsshsession.c +@SRCDIR@src/rpc/virnetmessage.c +@SRCDIR@src/rpc/virnetsaslcontext.c +@SRCDIR@src/rpc/virnetserver.c +@SRCDIR@src/rpc/virnetserverclient.c +@SRCDIR@src/rpc/virnetserverprogram.c +@SRCDIR@src/rpc/virnetserverservice.c +@SRCDIR@src/rpc/virnetsocket.c +@SRCDIR@src/rpc/virnetsshsession.c +@SRCDIR@src/rpc/virnettlscontext.c +@SRCDIR@src/secret/secret_driver.c +@SRCDIR@src/security/security_apparmor.c +@SRCDIR@src/security/security_dac.c +@SRCDIR@src/security/security_driver.c +@SRCDIR@src/security/security_manager.c +@SRCDIR@src/security/security_selinux.c +@SRCDIR@src/security/security_util.c +@SRCDIR@src/security/virt-aa-helper.c +@SRCDIR@src/storage/parthelper.c +@SRCDIR@src/storage/storage_backend.c +@SRCDIR@src/storage/storage_backend_disk.c +@SRCDIR@src/storage/storage_backend_fs.c +@SRCDIR@src/storage/storage_backend_gluster.c +@SRCDIR@src/storage/storage_backend_iscsi.c +@SRCDIR@src/storage/storage_backend_iscsi_direct.c +@SRCDIR@src/storage/storage_backend_logical.c +@SRCDIR@src/storage/storage_backend_mpath.c +@SRCDIR@src/storage/storage_backend_rbd.c +@SRCDIR@src/storage/storage_backend_scsi.c +@SRCDIR@src/storage/storage_backend_sheepdog.c +@SRCDIR@src/storage/storage_backend_vstorage.c +@SRCDIR@src/storage/storage_backend_zfs.c +@SRCDIR@src/storage/storage_driver.c +@SRCDIR@src/storage/storage_file_fs.c +@SRCDIR@src/storage/storage_file_gluster.c +@SRCDIR@src/storage/storage_util.c +@SRCDIR@src/test/test_driver.c +@SRCDIR@src/util/iohelper.c +@SRCDIR@src/util/viralloc.c +@SRCDIR@src/util/virarptable.c +@SRCDIR@src/util/viraudit.c +@SRCDIR@src/util/virauth.c +@SRCDIR@src/util/virauthconfig.c +@SRCDIR@src/util/virbitmap.c +@SRCDIR@src/util/vircgroup.c +@SRCDIR@src/util/vircgroupbackend.c +@SRCDIR@src/util/vircgroupbackend.h +@SRCDIR@src/util/vircgroupv1.c +@SRCDIR@src/util/vircgroupv2.c +@SRCDIR@src/util/vircgroupv2devices.c +@SRCDIR@src/util/vircommand.c +@SRCDIR@src/util/virconf.c +@SRCDIR@src/util/vircrypto.c +@SRCDIR@src/util/virdaemon.c +@SRCDIR@src/util/virdbus.c +@SRCDIR@src/util/virdnsmasq.c +@SRCDIR@src/util/virerror.c +@SRCDIR@src/util/virerror.h +@SRCDIR@src/util/virevent.c +@SRCDIR@src/util/vireventthread.c +@SRCDIR@src/util/virfcp.c +@SRCDIR@src/util/virfdstream.c +@SRCDIR@src/util/virfile.c +@SRCDIR@src/util/virfilecache.c +@SRCDIR@src/util/virfirewall.c +@SRCDIR@src/util/virfirewalld.c +@SRCDIR@src/util/virfirmware.c +@SRCDIR@src/util/virhash.c +@SRCDIR@src/util/virhook.c +@SRCDIR@src/util/virhostcpu.c +@SRCDIR@src/util/virhostmem.c +@SRCDIR@src/util/virhostuptime.c +@SRCDIR@src/util/viridentity.c +@SRCDIR@src/util/virinitctl.c +@SRCDIR@src/util/viriptables.c +@SRCDIR@src/util/viriscsi.c +@SRCDIR@src/util/virjson.c +@SRCDIR@src/util/virlease.c +@SRCDIR@src/util/virlockspace.c +@SRCDIR@src/util/virlog.c +@SRCDIR@src/util/virmacmap.c +@SRCDIR@src/util/virmdev.c +@SRCDIR@src/util/virmodule.c +@SRCDIR@src/util/virnetdev.c +@SRCDIR@src/util/virnetdevbandwidth.c +@SRCDIR@src/util/virnetdevbridge.c +@SRCDIR@src/util/virnetdevip.c +@SRCDIR@src/util/virnetdevmacvlan.c +@SRCDIR@src/util/virnetdevmidonet.c +@SRCDIR@src/util/virnetdevopenvswitch.c +@SRCDIR@src/util/virnetdevtap.c +@SRCDIR@src/util/virnetdevveth.c +@SRCDIR@src/util/virnetdevvportprofile.c +@SRCDIR@src/util/virnetlink.c +@SRCDIR@src/util/virnodesuspend.c +@SRCDIR@src/util/virnuma.c +@SRCDIR@src/util/virnvme.c +@SRCDIR@src/util/virobject.c +@SRCDIR@src/util/virpci.c +@SRCDIR@src/util/virperf.c +@SRCDIR@src/util/virpidfile.c +@SRCDIR@src/util/virpolkit.c +@SRCDIR@src/util/virportallocator.c +@SRCDIR@src/util/virprocess.c +@SRCDIR@src/util/virqemu.c +@SRCDIR@src/util/virrandom.c +@SRCDIR@src/util/virresctrl.c +@SRCDIR@src/util/virrotatingfile.c +@SRCDIR@src/util/virscsi.c +@SRCDIR@src/util/virscsihost.c +@SRCDIR@src/util/virscsivhost.c +@SRCDIR@src/util/virsecret.c +@SRCDIR@src/util/virsocketaddr.c +@SRCDIR@src/util/virstorageencryption.c +@SRCDIR@src/util/virstoragefile.c +@SRCDIR@src/util/virstoragefilebackend.c +@SRCDIR@src/util/virstring.c +@SRCDIR@src/util/virsysinfo.c +@SRCDIR@src/util/virsystemd.c +@SRCDIR@src/util/virthreadjob.c +@SRCDIR@src/util/virthreadpool.c +@SRCDIR@src/util/virtime.c +@SRCDIR@src/util/virtpm.c +@SRCDIR@src/util/virtypedparam-public.c +@SRCDIR@src/util/virtypedparam.c +@SRCDIR@src/util/viruri.c +@SRCDIR@src/util/virusb.c +@SRCDIR@src/util/virutil.c +@SRCDIR@src/util/virvhba.c +@SRCDIR@src/util/virvsock.c +@SRCDIR@src/util/virxml.c +@SRCDIR@src/vbox/vbox_XPCOMCGlue.c +@SRCDIR@src/vbox/vbox_common.c +@SRCDIR@src/vbox/vbox_driver.c +@SRCDIR@src/vbox/vbox_network.c +@SRCDIR@src/vbox/vbox_snapshot_conf.c +@SRCDIR@src/vbox/vbox_storage.c +@SRCDIR@src/vbox/vbox_tmpl.c +@SRCDIR@src/vmware/vmware_conf.c +@SRCDIR@src/vmware/vmware_driver.c +@SRCDIR@src/vmx/vmx.c +@SRCDIR@src/vz/vz_driver.c +@SRCDIR@src/vz/vz_sdk.c +@SRCDIR@src/vz/vz_utils.c +@SRCDIR@src/vz/vz_utils.h +@SRCDIR@tests/virpolkittest.c +@SRCDIR@tools/libvirt-guests.sh.in +@SRCDIR@tools/virsh-backup.c +@SRCDIR@tools/virsh-checkpoint.c +@SRCDIR@tools/virsh-completer-host.c +@SRCDIR@tools/virsh-console.c +@SRCDIR@tools/virsh-domain-monitor.c +@SRCDIR@tools/virsh-domain.c +@SRCDIR@tools/virsh-edit.c +@SRCDIR@tools/virsh-host.c +@SRCDIR@tools/virsh-interface.c +@SRCDIR@tools/virsh-network.c +@SRCDIR@tools/virsh-nodedev.c +@SRCDIR@tools/virsh-nwfilter.c +@SRCDIR@tools/virsh-pool.c +@SRCDIR@tools/virsh-secret.c +@SRCDIR@tools/virsh-snapshot.c +@SRCDIR@tools/virsh-util.c +@SRCDIR@tools/virsh-volume.c +@SRCDIR@tools/virsh.c +@SRCDIR@tools/virsh.h +@SRCDIR@tools/virt-admin.c +@SRCDIR@tools/virt-host-validate-bhyve.c +@SRCDIR@tools/virt-host-validate-common.c +@SRCDIR@tools/virt-host-validate-lxc.c +@SRCDIR@tools/virt-host-validate-qemu.c +@SRCDIR@tools/virt-host-validate.c +@SRCDIR@tools/virt-login-shell-helper.c +@SRCDIR@tools/vsh-table.c +@SRCDIR@tools/vsh.c +@SRCDIR@tools/vsh.h -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
There is no need to provide relative paths to the current directory if we provide search paths using --directory option for xgentext.
xgettext
In addition it will make libvirt.pot file look cleaner as it will not contain relative paths to current directory. It improves the situation for developers which are using different build path as that would change the relative path in libvirt.pot as well. After this patch it will not happen anymore.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- build-aux/syntax-check.mk | 4 +- po/Makefile.am | 6 +- po/POTFILES.in | 726 +++++++++++++++++++------------------- 3 files changed, 369 insertions(+), 367 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- scripts/check-remote-protocol.py | 5 ++--- src/Makefile.am | 10 +++++----- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/scripts/check-remote-protocol.py b/scripts/check-remote-protocol.py index cf9e3f84a1b..e28fb80cdd1 100644 --- a/scripts/check-remote-protocol.py +++ b/scripts/check-remote-protocol.py @@ -32,9 +32,8 @@ import subprocess import sys cc = sys.argv[1] -objext = sys.argv[2] -proto_lo = sys.argv[3] -expected = sys.argv[4] +proto_lo = sys.argv[2] +expected = sys.argv[3] proto_lo = proto_lo.replace("/", "/.libs/") diff --git a/src/Makefile.am b/src/Makefile.am index 8b0cbb6fc86..e1117029ebc 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -228,25 +228,25 @@ $(srcdir)/remote_protocol-struct \ $(srcdir)/lxc_protocol-struct: \ $(srcdir)/%-struct: remote/libvirt_driver_remote_la-%.lo $(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(CHECK_REMOTE_PROTOCOL) \ - "$(CC)" "$(OBJEXT)" $< $(@)s + "$(CC)" $< $(@)s $(srcdir)/virnetprotocol-struct $(srcdir)/virkeepaliveprotocol-struct: \ $(srcdir)/%-struct: rpc/libvirt_net_rpc_la-%.lo $(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(CHECK_REMOTE_PROTOCOL) \ - "$(CC)" "$(OBJEXT)" $< $(@)s + "$(CC)" $< $(@)s if WITH_LXC $(srcdir)/lxc_monitor_protocol-struct: \ $(srcdir)/%-struct: lxc/libvirt_driver_lxc_impl_la-%.lo $(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(CHECK_REMOTE_PROTOCOL) \ - "$(CC)" "$(OBJEXT)" $< $(@)s + "$(CC)" $< $(@)s endif WITH_LXC $(srcdir)/lock_protocol-struct: \ $(srcdir)/%-struct: locking/lockd_la-%.lo $(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(CHECK_REMOTE_PROTOCOL) \ - "$(CC)" "$(OBJEXT)" $< $(@)s + "$(CC)" $< $(@)s $(srcdir)/admin_protocol-struct: \ $(srcdir)/%-struct: admin/libvirt_admin_la-%.lo $(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(CHECK_REMOTE_PROTOCOL) \ - "$(CC)" "$(OBJEXT)" $< $(@)s + "$(CC)" $< $(@)s else !WITH_REMOTE # The $(PROTOCOL_STRUCTS) files must live in git, because they cannot be -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- scripts/check-remote-protocol.py | 5 ++--- src/Makefile.am | 10 +++++----- 2 files changed, 7 insertions(+), 8 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Commit <fd3b8fe7ad491c77c0b3f57110adaf64f743855e> removed objectlocking test but forgot to remove all of the usages of LOCK_CHECKING_CFLAGS. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/Makefile.am | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am index e1117029ebc..834e356b68b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -32,7 +32,6 @@ AM_CPPFLAGS = -I$(top_srcdir) \ AM_CFLAGS = $(LIBXML_CFLAGS) \ $(GLIB_CFLAGS) \ $(WARN_CFLAGS) \ - $(LOCK_CHECKING_CFLAGS) \ $(WIN32_EXTRA_CFLAGS) \ $(COVERAGE_CFLAGS) \ $(NULL) -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
Commit <fd3b8fe7ad491c77c0b3f57110adaf64f743855e> removed objectlocking test but forgot to remove all of the usages of LOCK_CHECKING_CFLAGS.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/Makefile.am | 1 - 1 file changed, 1 deletion(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Commit <894556ca813ad3c4ebb01083b7971d73b4f53c8b> moved function virSecretGetSecretString out of secret directory but forgot to update CFLAGS in places where the include is no longer needed. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/libxl/Makefile.inc.am | 1 - src/qemu/Makefile.inc.am | 1 - src/storage/Makefile.inc.am | 4 ---- 3 files changed, 6 deletions(-) diff --git a/src/libxl/Makefile.inc.am b/src/libxl/Makefile.inc.am index 619835a46b6..9037ba61ef3 100644 --- a/src/libxl/Makefile.inc.am +++ b/src/libxl/Makefile.inc.am @@ -45,7 +45,6 @@ libvirt_driver_libxl_impl_la_CFLAGS = \ -I$(srcdir)/access \ -I$(builddir)/access \ -I$(srcdir)/conf \ - -I$(srcdir)/secret \ -I$(srcdir)/hypervisor \ $(AM_CFLAGS) \ $(NULL) diff --git a/src/qemu/Makefile.inc.am b/src/qemu/Makefile.inc.am index f83a675ba2f..9e1d6192f5e 100644 --- a/src/qemu/Makefile.inc.am +++ b/src/qemu/Makefile.inc.am @@ -103,7 +103,6 @@ libvirt_driver_qemu_impl_la_CFLAGS = \ -I$(srcdir)/access \ -I$(builddir)/access \ -I$(srcdir)/conf \ - -I$(srcdir)/secret \ -I$(srcdir)/hypervisor \ $(AM_CFLAGS) \ $(NULL) diff --git a/src/storage/Makefile.inc.am b/src/storage/Makefile.inc.am index 2f46d244f3a..5e98a7ef5c5 100644 --- a/src/storage/Makefile.inc.am +++ b/src/storage/Makefile.inc.am @@ -123,7 +123,6 @@ libvirt_driver_storage_impl_la_CFLAGS = \ -I$(srcdir)/access \ -I$(builddir)/access \ -I$(srcdir)/conf \ - -I$(srcdir)/secret \ $(AM_CFLAGS) \ $(NULL) libvirt_driver_storage_impl_la_LDFLAGS = $(AM_LDFLAGS) @@ -269,7 +268,6 @@ if WITH_STORAGE_ISCSI libvirt_storage_backend_iscsi_la_SOURCES = $(STORAGE_DRIVER_ISCSI_SOURCES) libvirt_storage_backend_iscsi_la_CFLAGS = \ -I$(srcdir)/conf \ - -I$(srcdir)/secret \ $(AM_CFLAGS) \ $(NULL) @@ -286,7 +284,6 @@ libvirt_storage_backend_iscsi_direct_la_SOURCES = \ $(STORAGE_DRIVER_ISCSI_DIRECT_SOURCES) libvirt_storage_backend_iscsi_direct_la_CFLAGS = \ -I$(srcdir)/conf \ - -I$(srcdir)/secret \ $(LIBISCSI_CFLAGS) \ $(AM_CFLAGS) \ $(NULL) @@ -356,7 +353,6 @@ libvirt_storage_backend_rbd_la_LIBADD = \ $(NULL) libvirt_storage_backend_rbd_la_CFLAGS = \ -I$(srcdir)/conf \ - -I$(srcdir)/secret \ $(AM_CFLAGS) \ $(NULL) -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
Commit <894556ca813ad3c4ebb01083b7971d73b4f53c8b> moved function virSecretGetSecretString out of secret directory but forgot to update CFLAGS in places where the include is no longer needed.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/libxl/Makefile.inc.am | 1 - src/qemu/Makefile.inc.am | 1 - src/storage/Makefile.inc.am | 4 ---- 3 files changed, 6 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/remote/Makefile.inc.am | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/remote/Makefile.inc.am b/src/remote/Makefile.inc.am index 8a40c96563c..893d6894e2f 100644 --- a/src/remote/Makefile.inc.am +++ b/src/remote/Makefile.inc.am @@ -35,16 +35,13 @@ REMOTE_DAEMON_SOURCES = \ $(NULL) REMOTE_DAEMON_CFLAGS = \ - $(LIBXML_CFLAGS) \ - $(GLIB_CFLAGS) \ + $(AM_CFLAGS) \ $(GNUTLS_CFLAGS) \ $(SASL_CFLAGS) \ $(XDR_CFLAGS) \ $(DBUS_CFLAGS) \ $(LIBNL_CFLAGS) \ - $(WARN_CFLAGS) \ $(PIE_CFLAGS) \ - $(COVERAGE_CFLAGS) \ -I$(srcdir)/access \ -I$(builddir)/access \ -I$(srcdir)/conf \ @@ -54,11 +51,9 @@ REMOTE_DAEMON_CFLAGS = \ $(NULL) REMOTE_DAEMON_LD_FLAGS = \ - $(RELRO_LDFLAGS) \ + $(AM_LDFLAGS) \ $(PIE_LDFLAGS) \ - $(NO_INDIRECT_LDFLAGS) \ $(NO_UNDEFINED_LDFLAGS) \ - $(COVERAGE_LDFLAGS) \ $(NULL) REMOTE_DAEMON_LD_ADD = \ -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/remote/Makefile.inc.am | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/src/remote/Makefile.inc.am b/src/remote/Makefile.inc.am index 8a40c96563c..893d6894e2f 100644 --- a/src/remote/Makefile.inc.am +++ b/src/remote/Makefile.inc.am @@ -35,16 +35,13 @@ REMOTE_DAEMON_SOURCES = \ $(NULL)
REMOTE_DAEMON_CFLAGS = \ - $(LIBXML_CFLAGS) \ - $(GLIB_CFLAGS) \ + $(AM_CFLAGS) \ $(GNUTLS_CFLAGS) \ $(SASL_CFLAGS) \ $(XDR_CFLAGS) \ $(DBUS_CFLAGS) \ $(LIBNL_CFLAGS) \ - $(WARN_CFLAGS) \ $(PIE_CFLAGS) \ - $(COVERAGE_CFLAGS) \ -I$(srcdir)/access \ -I$(builddir)/access \ -I$(srcdir)/conf \
No practical change in this hunk.
@@ -54,11 +51,9 @@ REMOTE_DAEMON_CFLAGS = \ $(NULL)
REMOTE_DAEMON_LD_FLAGS = \ - $(RELRO_LDFLAGS) \ + $(AM_LDFLAGS) \ $(PIE_LDFLAGS) \ - $(NO_INDIRECT_LDFLAGS) \ $(NO_UNDEFINED_LDFLAGS) \ - $(COVERAGE_LDFLAGS) \ $(NULL)
AM_LDFLAGS also contains $(DRIVER_MODULES_LDFLAGS) i.e. -export-dynamic Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Commit <0985a9597bb0348d46c0d18dc548a676bf0ad8e2> added unused variable so remove it. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/logging/Makefile.inc.am | 1 - 1 file changed, 1 deletion(-) diff --git a/src/logging/Makefile.inc.am b/src/logging/Makefile.inc.am index 4be33765e9e..873e6029dd5 100644 --- a/src/logging/Makefile.inc.am +++ b/src/logging/Makefile.inc.am @@ -30,7 +30,6 @@ LOG_PROTOCOL = $(srcdir)/logging/log_protocol.x EXTRA_DIST += \ $(LOG_PROTOCOL) \ $(LOG_DAEMON_SOURCES) \ - $(LOG_DRIVER) \ logging/virtlogd.aug \ logging/virtlogd.conf \ logging/test_virtlogd.aug.in \ -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
Commit <0985a9597bb0348d46c0d18dc548a676bf0ad8e2> added unused variable so remove it.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/logging/Makefile.inc.am | 1 - 1 file changed, 1 deletion(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Fixes inconsistency with macro names for external programs. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-external-programs.m4 | 8 ++++---- src/util/virnetdevmidonet.c | 4 ++-- src/util/virnetdevopenvswitch.c | 16 ++++++++-------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/m4/virt-external-programs.m4 b/m4/virt-external-programs.m4 index bd3cb1f7576..d905beed71d 100644 --- a/m4/virt-external-programs.m4 +++ b/m4/virt-external-programs.m4 @@ -61,8 +61,8 @@ AC_DEFUN([LIBVIRT_CHECK_EXTERNAL_PROGRAMS], [ AC_PATH_PROG([UDEVADM], [udevadm], [udevadm], [$LIBVIRT_SBIN_PATH]) AC_PATH_PROG([MODPROBE], [modprobe], [modprobe], [$LIBVIRT_SBIN_PATH]) AC_PATH_PROG([RMMOD], [rmmod], [rmmod], [$LIBVIRT_SBIN_PATH]) - AC_PATH_PROG([MMCTL], [mm-ctl], [mm-ctl], [$LIBVIRT_SBIN_PATH]) - AC_PATH_PROG([OVSVSCTL], [ovs-vsctl], [ovs-vsctl], [$LIBVIRT_SBIN_PATH]) + AC_PATH_PROG([MM_CTL], [mm-ctl], [mm-ctl], [$LIBVIRT_SBIN_PATH]) + AC_PATH_PROG([OVS_VSCTL], [ovs-vsctl], [ovs-vsctl], [$LIBVIRT_SBIN_PATH]) AC_PATH_PROG([SCRUB], [scrub], [scrub], [$LIBVIRT_SBIN_PATH]) AC_PATH_PROG([ADDR2LINE], [addr2line], [addr2line], [$LIBVIRT_SBIN_PATH]) AC_PATH_PROG([MDEVCTL], [mdevctl], [mdevctl], [$LIBVIRT_SBIN_PATH]) @@ -75,9 +75,9 @@ AC_DEFUN([LIBVIRT_CHECK_EXTERNAL_PROGRAMS], [ [Location or name of the radvd program]) AC_DEFINE_UNQUOTED([TC], ["$TC"], [Location or name of the tc program (see iproute2)]) - AC_DEFINE_UNQUOTED([MMCTL], ["$MMCTL"], + AC_DEFINE_UNQUOTED([MM_CTL], ["$MM_CTL"], [Location or name of the mm-ctl program]) - AC_DEFINE_UNQUOTED([OVSVSCTL], ["$OVSVSCTL"], + AC_DEFINE_UNQUOTED([OVS_VSCTL], ["$OVS_VSCTL"], [Location or name of the ovs-vsctl program]) AC_DEFINE_UNQUOTED([UDEVADM], ["$UDEVADM"], [Location or name of the udevadm program]) diff --git a/src/util/virnetdevmidonet.c b/src/util/virnetdevmidonet.c index 354350ce1b7..be1b6e8a457 100644 --- a/src/util/virnetdevmidonet.c +++ b/src/util/virnetdevmidonet.c @@ -45,7 +45,7 @@ virNetDevMidonetBindPort(const char *ifname, virUUIDFormat(virtualport->interfaceID, virtportuuid); - cmd = virCommandNew(MMCTL); + cmd = virCommandNew(MM_CTL); virCommandAddArgList(cmd, "--bind-port", virtportuuid, ifname, NULL); @@ -79,7 +79,7 @@ virNetDevMidonetUnbindPort(const virNetDevVPortProfile *virtualport) virUUIDFormat(virtualport->interfaceID, virtportuuid); - cmd = virCommandNew(MMCTL); + cmd = virCommandNew(MM_CTL); virCommandAddArgList(cmd, "--unbind-port", virtportuuid, NULL); if (virCommandRun(cmd, NULL) < 0) { diff --git a/src/util/virnetdevopenvswitch.c b/src/util/virnetdevopenvswitch.c index dbb489d174d..89e55650083 100644 --- a/src/util/virnetdevopenvswitch.c +++ b/src/util/virnetdevopenvswitch.c @@ -151,7 +151,7 @@ int virNetDevOpenvswitchAddPort(const char *brname, const char *ifname, ovsport->profileID); } - cmd = virCommandNew(OVSVSCTL); + cmd = virCommandNew(OVS_VSCTL); virNetDevOpenvswitchAddTimeout(cmd); virCommandAddArgList(cmd, "--", "--if-exists", "del-port", ifname, "--", "add-port", brname, ifname, NULL); @@ -199,7 +199,7 @@ int virNetDevOpenvswitchRemovePort(const char *brname G_GNUC_UNUSED, const char { g_autoptr(virCommand) cmd = NULL; - cmd = virCommandNew(OVSVSCTL); + cmd = virCommandNew(OVS_VSCTL); virNetDevOpenvswitchAddTimeout(cmd); virCommandAddArgList(cmd, "--", "--if-exists", "del-port", ifname, NULL); @@ -226,7 +226,7 @@ int virNetDevOpenvswitchGetMigrateData(char **migrate, const char *ifname) size_t len; g_autoptr(virCommand) cmd = NULL; - cmd = virCommandNew(OVSVSCTL); + cmd = virCommandNew(OVS_VSCTL); virNetDevOpenvswitchAddTimeout(cmd); virCommandAddArgList(cmd, "--if-exists", "get", "Interface", ifname, "external_ids:PortData", NULL); @@ -267,7 +267,7 @@ int virNetDevOpenvswitchSetMigrateData(char *migrate, const char *ifname) return 0; } - cmd = virCommandNew(OVSVSCTL); + cmd = virCommandNew(OVS_VSCTL); virNetDevOpenvswitchAddTimeout(cmd); virCommandAddArgList(cmd, "set", "Interface", ifname, NULL); virCommandAddArgFormat(cmd, "external_ids:PortData=%s", migrate); @@ -373,7 +373,7 @@ virNetDevOpenvswitchInterfaceStats(const char *ifname, g_autoptr(virCommand) cmd = NULL; g_autofree char *output = NULL; - cmd = virCommandNew(OVSVSCTL); + cmd = virCommandNew(OVS_VSCTL); virNetDevOpenvswitchAddTimeout(cmd); virCommandAddArgList(cmd, "--if-exists", "--format=list", "--data=json", "--no-headings", "--columns=statistics", "list", @@ -439,7 +439,7 @@ virNetDevOpenvswitchInterfaceGetMaster(const char *ifname, char **master) *master = NULL; - cmd = virCommandNew(OVSVSCTL); + cmd = virCommandNew(OVS_VSCTL); virNetDevOpenvswitchAddTimeout(cmd); virCommandAddArgList(cmd, "iface-to-br", ifname, NULL); virCommandSetOutputBuffer(cmd, master); @@ -498,7 +498,7 @@ virNetDevOpenvswitchGetVhostuserIfname(const char *path, return 0; tmpIfname++; - cmd = virCommandNew(OVSVSCTL); + cmd = virCommandNew(OVS_VSCTL); virNetDevOpenvswitchAddTimeout(cmd); virCommandAddArgList(cmd, "get", "Interface", tmpIfname, "name", NULL); if (virCommandRun(cmd, &status) < 0 || @@ -525,7 +525,7 @@ int virNetDevOpenvswitchUpdateVlan(const char *ifname, { g_autoptr(virCommand) cmd = NULL; - cmd = virCommandNew(OVSVSCTL); + cmd = virCommandNew(OVS_VSCTL); virNetDevOpenvswitchAddTimeout(cmd); virCommandAddArgList(cmd, "--", "--if-exists", "clear", "Port", ifname, "tag", -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
Fixes inconsistency with macro names for external programs.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-external-programs.m4 | 8 ++++---- src/util/virnetdevmidonet.c | 4 ++-- src/util/virnetdevopenvswitch.c | 16 ++++++++-------- 3 files changed, 14 insertions(+), 14 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

It was introduced by commit <c606671aaad10a9bc87f226bc473a091e00a9629> as a gnulib ldexp module and later removed by commit <09fe607b4de8eb883c966e90aaf5563299a22738>. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/util/Makefile.inc.am | 1 - 1 file changed, 1 deletion(-) diff --git a/src/util/Makefile.inc.am b/src/util/Makefile.inc.am index 6d732518f40..5203fa28d48 100644 --- a/src/util/Makefile.inc.am +++ b/src/util/Makefile.inc.am @@ -275,7 +275,6 @@ libvirt_util_la_CFLAGS = \ $(AUDIT_CFLAGS) \ $(DEVMAPPER_CFLAGS) \ $(DBUS_CFLAGS) \ - $(LDEXP_LIBM) \ $(NUMACTL_CFLAGS) \ $(GNUTLS_CFLAGS) \ $(ACL_CFLAGS) \ -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
It was introduced by commit <c606671aaad10a9bc87f226bc473a091e00a9629> as a gnulib ldexp module and later removed by commit <09fe607b4de8eb883c966e90aaf5563299a22738>.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/util/Makefile.inc.am | 1 - 1 file changed, 1 deletion(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Commit <f650e86703847af544762d02f79c70131ff7fbab> added check for openpty function from util library using AC_CHECK_LIB(). However, that macro doesn't define OPENPTY_LIBS, it only defines WITH_LIBUTIL and prepends -lutil into LIBS for the whole project. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/util/Makefile.inc.am | 1 - 1 file changed, 1 deletion(-) diff --git a/src/util/Makefile.inc.am b/src/util/Makefile.inc.am index 5203fa28d48..eca7e7e0a1e 100644 --- a/src/util/Makefile.inc.am +++ b/src/util/Makefile.inc.am @@ -281,7 +281,6 @@ libvirt_util_la_CFLAGS = \ $(NULL) libvirt_util_la_LIBADD = \ -lm \ - $(OPENPTY_LIBS) \ $(CAPNG_LIBS) \ $(YAJL_LIBS) \ $(LIBNL_LIBS) \ -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
Commit <f650e86703847af544762d02f79c70131ff7fbab> added check for openpty function from util library using AC_CHECK_LIB(). However, that macro doesn't define OPENPTY_LIBS, it only defines WITH_LIBUTIL and prepends -lutil into LIBS for the whole project.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/util/Makefile.inc.am | 1 - 1 file changed, 1 deletion(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Commit <5b816e16968ba02def56f067774ecd9a8c8d44d7> removed hard-coded sysconfdir path from *.conf files but missed virtproxyd. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/remote/Makefile.inc.am | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/remote/Makefile.inc.am b/src/remote/Makefile.inc.am index 893d6894e2f..80f4aad7828 100644 --- a/src/remote/Makefile.inc.am +++ b/src/remote/Makefile.inc.am @@ -276,6 +276,7 @@ remote/virtproxyd.conf: remote/libvirtd.conf.in $(AM_V_GEN)sed \ -e '/[@]CUT_ENABLE_IP[@]/d' \ -e '/[@]END[@]/d' \ + -e 's|[@]sysconfdir[@]|@sysconfdir@|' \ -e 's|[@]runstatedir[@]|@runstatedir@|' \ -e 's/[@]DAEMON_NAME[@]/virtproxyd/' \ $< > $@ @@ -301,6 +302,7 @@ remote/virtproxyd.aug: remote/libvirtd.aug.in $(AM_V_GEN)$(SED) \ -e '/[@]CUT_ENABLE_IP[@]/d' \ -e '/[@]END[@]/d' \ + -e 's|[@]sysconfdir[@]|@sysconfdir@|' \ -e 's/[@]DAEMON_NAME[@]/virtproxyd/' \ -e 's/[@]DAEMON_NAME_UC[@]/Virtproxyd/' \ $< > $@ @@ -325,6 +327,7 @@ remote/test_virtproxyd.aug: remote/test_libvirtd.aug.in \ $(SED) \ -e '/[@]CUT_ENABLE_IP[@]/d' \ -e '/[@]END[@]/d' \ + -e 's|[@]sysconfdir[@]|@sysconfdir@|' \ -e 's|[@]runstatedir[@]|@runstatedir@|' \ -e 's/[@]DAEMON_NAME[@]/virtproxyd/' \ -e 's/[@]DAEMON_NAME_UC[@]/Virtproxyd/' \ -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
Commit <5b816e16968ba02def56f067774ecd9a8c8d44d7> removed hard-coded sysconfdir path from *.conf files but missed virtproxyd.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/remote/Makefile.inc.am | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

We have two functions to set that we want to override directory where to look for libvirt files, one checks the binary name and the other one checks env variable. This patch removes the binary name check to simplify code by using only the env variable. This change will be required for Meson introduction where the binary name doesn't have any prefix by default. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/libvirt.c | 2 +- src/libvirt_private.syms | 3 +-- src/locking/lock_daemon.c | 2 +- src/logging/log_daemon.c | 2 +- src/qemu/qemu_shim.c | 2 +- src/remote/remote_daemon.c | 2 +- src/security/virt-aa-helper.c | 2 +- src/util/virfile.c | 25 +------------------------ src/util/virfile.h | 4 +--- tests/Makefile.am | 1 + tests/qemucapsprobe.c | 2 +- tests/testutils.c | 2 +- tools/virsh.c | 2 +- tools/virt-admin.c | 2 +- 14 files changed, 14 insertions(+), 39 deletions(-) diff --git a/src/libvirt.c b/src/libvirt.c index b2d0ba3d232..e3d68dc81d5 100644 --- a/src/libvirt.c +++ b/src/libvirt.c @@ -221,7 +221,7 @@ virGlobalInit(void) if (virErrorInitialize() < 0) goto error; - virFileActivateDirOverrideForLib(); + virFileActivateDirOverride(); if (getuid() != geteuid() || getgid() != getegid()) { diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index ae0e253ab9f..f2808945c21 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2041,8 +2041,7 @@ virDirOpenQuiet; virDirRead; virFileAbsPath; virFileAccessibleAs; -virFileActivateDirOverrideForLib; -virFileActivateDirOverrideForProg; +virFileActivateDirOverride; virFileBindMountDevice; virFileBuildPath; virFileCanonicalizePath; diff --git a/src/locking/lock_daemon.c b/src/locking/lock_daemon.c index b0cd89375be..7dc1fcb28f2 100644 --- a/src/locking/lock_daemon.c +++ b/src/locking/lock_daemon.c @@ -954,7 +954,7 @@ int main(int argc, char **argv) { } } - virFileActivateDirOverrideForProg(argv[0]); + virFileActivateDirOverride(); if (!(config = virLockDaemonConfigNew(privileged))) { VIR_ERROR(_("Can't create initial configuration")); diff --git a/src/logging/log_daemon.c b/src/logging/log_daemon.c index 028f771f149..8e92543a3a1 100644 --- a/src/logging/log_daemon.c +++ b/src/logging/log_daemon.c @@ -733,7 +733,7 @@ int main(int argc, char **argv) { } } - virFileActivateDirOverrideForProg(argv[0]); + virFileActivateDirOverride(); if (!(config = virLogDaemonConfigNew(privileged))) { VIR_ERROR(_("Can't create initial configuration")); diff --git a/src/qemu/qemu_shim.c b/src/qemu/qemu_shim.c index 7e87b8fb962..1e4e2b22ee4 100644 --- a/src/qemu/qemu_shim.c +++ b/src/qemu/qemu_shim.c @@ -167,7 +167,7 @@ int main(int argc, char **argv) } } - virFileActivateDirOverrideForProg(argv[0]); + virFileActivateDirOverride(); if (verbose) g_printerr("%s: %lld: preparing event loop thread\n", diff --git a/src/remote/remote_daemon.c b/src/remote/remote_daemon.c index 1aa9bfc0d2f..901af6e934e 100644 --- a/src/remote/remote_daemon.c +++ b/src/remote/remote_daemon.c @@ -808,7 +808,7 @@ int main(int argc, char **argv) { virUpdateSelfLastChanged(argv[0]); - virFileActivateDirOverrideForProg(argv[0]); + virFileActivateDirOverride(); while (1) { int optidx = 0; diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c index 08eb162b8cd..82d27efa7b3 100644 --- a/src/security/virt-aa-helper.c +++ b/src/security/virt-aa-helper.c @@ -1459,7 +1459,7 @@ main(int argc, char **argv) exit(EXIT_FAILURE); } - virFileActivateDirOverrideForProg(argv[0]); + virFileActivateDirOverride(); /* Initialize the log system */ virLogSetFromEnv(); diff --git a/src/util/virfile.c b/src/util/virfile.c index c034df5931e..9e8dee4cb0f 100644 --- a/src/util/virfile.c +++ b/src/util/virfile.c @@ -1777,29 +1777,6 @@ virFileFindResource(const char *filename, } -/** - * virFileActivateDirOverrideForProg: - * @argv0: argv[0] of the calling program - * - * Look at @argv0 and try to detect if running from - * a build directory, by looking for a 'lt-' prefix - * on the binary name, or '/.libs/' in the path - */ -void -virFileActivateDirOverrideForProg(const char *argv0) -{ - char *file = strrchr(argv0, '/'); - if (!file || file[1] == '\0') - return; - file++; - if (STRPREFIX(file, "lt-") || - strstr(argv0, "/.libs/")) { - useDirOverride = true; - VIR_DEBUG("Activating build dir override for %s", argv0); - } -} - - /** * virFileActivateDirOverrideForLib: * @@ -1807,7 +1784,7 @@ virFileActivateDirOverrideForProg(const char *argv0) * the build/src tree instead of install tree. */ void -virFileActivateDirOverrideForLib(void) +virFileActivateDirOverride(void) { if (getenv("LIBVIRT_DIR_OVERRIDE") != NULL) useDirOverride = true; diff --git a/src/util/virfile.h b/src/util/virfile.h index 7a92364a5c9..fc0f6360506 100644 --- a/src/util/virfile.h +++ b/src/util/virfile.h @@ -190,9 +190,7 @@ char *virFileFindResourceFull(const char *filename, const char *installdir, const char *envname) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(4) ATTRIBUTE_NONNULL(5); -void virFileActivateDirOverrideForProg(const char *argv0) - ATTRIBUTE_NONNULL(1); -void virFileActivateDirOverrideForLib(void); +void virFileActivateDirOverride(void); off_t virFileLength(const char *path, int fd) ATTRIBUTE_NONNULL(1); bool virFileIsDir (const char *file) ATTRIBUTE_NONNULL(1); diff --git a/tests/Makefile.am b/tests/Makefile.am index c87b12d28c3..f237c134213 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -484,6 +484,7 @@ TESTS_ENVIRONMENT = \ abs_builddir="$(abs_builddir)" \ abs_srcdir="$(abs_srcdir)" \ LIBVIRT_AUTOSTART=0 \ + LIBVIRT_DIR_OVERRIDE=1 \ LC_ALL=C \ VIR_TEST_EXPENSIVE=$(VIR_TEST_EXPENSIVE) \ $(VG) diff --git a/tests/qemucapsprobe.c b/tests/qemucapsprobe.c index 26ea9ff5ed1..f18b7792b02 100644 --- a/tests/qemucapsprobe.c +++ b/tests/qemucapsprobe.c @@ -55,7 +55,7 @@ main(int argc, char **argv) VIR_TEST_PRELOAD(mock); - virFileActivateDirOverrideForProg(argv[0]); + virFileActivateDirOverride(); if (argc != 2) { fprintf(stderr, "%s QEMU_binary\n", argv[0]); diff --git a/tests/testutils.c b/tests/testutils.c index 7f1776b2449..191917b01f0 100644 --- a/tests/testutils.c +++ b/tests/testutils.c @@ -794,7 +794,7 @@ int virTestMain(int argc, g_setenv("VIR_TEST_MOCK_PROGNAME", progname, TRUE); - virFileActivateDirOverrideForProg(argv[0]); + virFileActivateDirOverride(); if (virTestSetEnvPath() < 0) return EXIT_AM_HARDFAIL; diff --git a/tools/virsh.c b/tools/virsh.c index 197a90636d3..4f5e6ed65ef 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -887,7 +887,7 @@ main(int argc, char **argv) return EXIT_FAILURE; } - virFileActivateDirOverrideForProg(argv[0]); + virFileActivateDirOverride(); if (!vshInit(ctl, cmdGroups, NULL)) exit(EXIT_FAILURE); diff --git a/tools/virt-admin.c b/tools/virt-admin.c index fef0332a0d3..fdb0a130523 100644 --- a/tools/virt-admin.c +++ b/tools/virt-admin.c @@ -1573,7 +1573,7 @@ main(int argc, char **argv) return EXIT_FAILURE; } - virFileActivateDirOverrideForProg(argv[0]); + virFileActivateDirOverride(); if (!vshInit(ctl, cmdGroups, NULL)) exit(EXIT_FAILURE); -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
We have two functions to set that we want to override directory where to look for libvirt files, one checks the binary name and the other one checks env variable.
This patch removes the binary name check to simplify code by using only the env variable.
This change will be required for Meson introduction where the binary name doesn't have any prefix by default.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/libvirt.c | 2 +- src/libvirt_private.syms | 3 +-- src/locking/lock_daemon.c | 2 +- src/logging/log_daemon.c | 2 +- src/qemu/qemu_shim.c | 2 +- src/remote/remote_daemon.c | 2 +- src/security/virt-aa-helper.c | 2 +- src/util/virfile.c | 25 +------------------------ src/util/virfile.h | 4 +--- tests/Makefile.am | 1 + tests/qemucapsprobe.c | 2 +- tests/testutils.c | 2 +- tools/virsh.c | 2 +- tools/virt-admin.c | 2 +- 14 files changed, 14 insertions(+), 39 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

On Thu, Jul 02, 2020 at 02:25:25PM +0200, Pavel Hrdina wrote:
We have two functions to set that we want to override directory where to look for libvirt files, one checks the binary name and the other one checks env variable.
This patch removes the binary name check to simplify code by using only the env variable.
This change will be required for Meson introduction where the binary name doesn't have any prefix by default.
This means that we won't be able to run "./src/libvirtd" directly from the build dir - we'll *always* have to use "./run ./src/libvirtd" to get the env var set IIUC. Instead of checking the binary name, can we check for existance of a known valid build file in the directory we're running the binary from. eg look for "Makefile" or "ninja.build" or something like that. 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 :|

On Thu, Jul 09, 2020 at 04:21:32PM +0100, Daniel P. Berrangé wrote:
On Thu, Jul 02, 2020 at 02:25:25PM +0200, Pavel Hrdina wrote:
We have two functions to set that we want to override directory where to look for libvirt files, one checks the binary name and the other one checks env variable.
This patch removes the binary name check to simplify code by using only the env variable.
This change will be required for Meson introduction where the binary name doesn't have any prefix by default.
This means that we won't be able to run "./src/libvirtd" directly from the build dir - we'll *always* have to use "./run ./src/libvirtd" to get the env var set IIUC.
Instead of checking the binary name, can we check for existance of a known valid build file in the directory we're running the binary from. eg look for "Makefile" or "ninja.build" or something like that.
This will not work, with autotools we are running from: $abs_build_dir/src/.libs/libvirtd where there are no Makefile or any other autotools related files, but that's not an issue as I will drop this patch for now. We actually have to fix it only for Meson. However, with Meson it will not work as well because the ninja.build file is only in the top-level build directory. My idea is to canonicalize PWD/argv0 and check if it matches abs_build_dir as prefix. Pavel

The old code works correctly with make and running directly from shell but it failed with Meson test suite where session ID and process group are the same in both cases. What changes in both cases is parent process ID so use that instead of session ID. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- tests/commandhelper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/commandhelper.c b/tests/commandhelper.c index 3f040be8f22..4266e11902f 100644 --- a/tests/commandhelper.c +++ b/tests/commandhelper.c @@ -126,7 +126,7 @@ int main(int argc, char **argv) { fprintf(log, "FD:%zu\n", i); } - fprintf(log, "DAEMON:%s\n", getpgrp() == getsid(0) ? "yes" : "no"); + fprintf(log, "DAEMON:%s\n", getpgrp() != getppid() ? "yes" : "no"); if (!(cwd = getcwd(NULL, 0))) goto cleanup; if (strlen(cwd) > strlen(".../commanddata") && -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
The old code works correctly with make and running directly from shell but it failed with Meson test suite where session ID and process group are the same in both cases.
What changes in both cases is parent process ID so use that instead of session ID.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- tests/commandhelper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-nss.m4 | 2 +- tests/nssmock.c | 2 +- tests/nsstest.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/m4/virt-nss.m4 b/m4/virt-nss.m4 index 951a74e835b..b519c36e859 100644 --- a/m4/virt-nss.m4 +++ b/m4/virt-nss.m4 @@ -58,7 +58,7 @@ AC_DEFUN([LIBVIRT_CHECK_NSS],[ fi if test "x$with_nss_plugin" = "xyes" ; then - AC_DEFINE_UNQUOTED([NSS], 1, [whether nss plugin is enabled]) + AC_DEFINE_UNQUOTED([WITH_NSS], 1, [whether nss plugin is enabled]) AC_CHECK_TYPE([struct gaih_addrtuple], [AC_DEFINE([HAVE_STRUCT_GAIH_ADDRTUPLE], [1], diff --git a/tests/nssmock.c b/tests/nssmock.c index 62e8fa372a2..b1c1aba957a 100644 --- a/tests/nssmock.c +++ b/tests/nssmock.c @@ -18,7 +18,7 @@ #include <config.h> -#ifdef NSS +#ifdef WITH_NSS # include "virmock.h" # include <sys/types.h> # include <dirent.h> diff --git a/tests/nsstest.c b/tests/nsstest.c index 514b4f7195d..135f6b6c939 100644 --- a/tests/nsstest.c +++ b/tests/nsstest.c @@ -20,7 +20,7 @@ #include "testutils.h" -#ifdef NSS +#ifdef WITH_NSS # include "libvirt_nss.h" # include "virsocket.h" -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- m4/virt-nss.m4 | 2 +- tests/nssmock.c | 2 +- tests/nsstest.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

../tools/virsh-secret.c: In function ‘cmdSecretSetValue’: ../tools/virsh-secret.c:262:15: error: pointer targets in assignment from ‘char *’ to ‘unsigned char *’ differ in signedness [-Werror=pointer-sign] 262 | value = g_steal_pointer(&file_buf); | ^ cc1: all warnings being treated as errors Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- tools/virsh-secret.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/virsh-secret.c b/tools/virsh-secret.c index be4adc416ec..92801361477 100644 --- a/tools/virsh-secret.c +++ b/tools/virsh-secret.c @@ -259,7 +259,7 @@ cmdSecretSetValue(vshControl *ctl, const vshCmd *cmd) } if (plain) { - value = g_steal_pointer(&file_buf); + value = (unsigned char *) g_steal_pointer(&file_buf); value_size = file_len; file_len = 0; } else { -- 2.26.2

On a Thursday in 2020, Pavel Hrdina wrote:
../tools/virsh-secret.c: In function ‘cmdSecretSetValue’: ../tools/virsh-secret.c:262:15: error: pointer targets in assignment from ‘char *’ to ‘unsigned char *’ differ in signedness [-Werror=pointer-sign] 262 | value = g_steal_pointer(&file_buf); | ^ cc1: all warnings being treated as errors
Where do you get this error?
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- tools/virsh-secret.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

On Thu, Jul 09, 2020 at 05:25:03PM +0200, Ján Tomko wrote:
On a Thursday in 2020, Pavel Hrdina wrote:
../tools/virsh-secret.c: In function ‘cmdSecretSetValue’: ../tools/virsh-secret.c:262:15: error: pointer targets in assignment from ‘char *’ to ‘unsigned char *’ differ in signedness [-Werror=pointer-sign] 262 | value = g_steal_pointer(&file_buf); | ^ cc1: all warnings being treated as errors
Where do you get this error?
I was not able to hit this error again after dropping this patch so probably there was something missing in meson, I'll drop this patch. Pavel

With meson introduction which is using the same CFLAGS for the whole project some compilation errors were discovered. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- tools/wireshark/src/packet-libvirt.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/tools/wireshark/src/packet-libvirt.c b/tools/wireshark/src/packet-libvirt.c index 20b7a3ec812..db8efe45a39 100644 --- a/tools/wireshark/src/packet-libvirt.c +++ b/tools/wireshark/src/packet-libvirt.c @@ -77,15 +77,15 @@ static gint ett_libvirt_stream_hole = -1; XDR_PRIMITIVE_DISSECTOR(int, gint32, int) XDR_PRIMITIVE_DISSECTOR(u_int, guint32, uint) -XDR_PRIMITIVE_DISSECTOR(short, gint16, int) +//XDR_PRIMITIVE_DISSECTOR(short, gint16, int) XDR_PRIMITIVE_DISSECTOR(u_short, guint16, uint) XDR_PRIMITIVE_DISSECTOR(char, gchar, int) XDR_PRIMITIVE_DISSECTOR(u_char, guchar, uint) XDR_PRIMITIVE_DISSECTOR(hyper, gint64, int64) XDR_PRIMITIVE_DISSECTOR(u_hyper, guint64, uint64) -XDR_PRIMITIVE_DISSECTOR(float, gfloat, float) +//XDR_PRIMITIVE_DISSECTOR(float, gfloat, float) XDR_PRIMITIVE_DISSECTOR(double, gdouble, double) -XDR_PRIMITIVE_DISSECTOR(bool, bool_t, boolean) +//XDR_PRIMITIVE_DISSECTOR(bool, bool_t, boolean) typedef gboolean (*vir_xdr_dissector_t)(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf); @@ -345,7 +345,9 @@ dissect_libvirt_num_of_fds(tvbuff_t *tvb, proto_tree *tree) } static void -dissect_libvirt_fds(tvbuff_t *tvb, gint start, gint32 nfds) +dissect_libvirt_fds(tvbuff_t *tvb G_GNUC_UNUSED, + gint start G_GNUC_UNUSED, + gint32 nfds G_GNUC_UNUSED) { /* TODO: NOP for now */ } @@ -420,8 +422,13 @@ dissect_libvirt_payload(tvbuff_t *tvb, proto_tree *tree, return; /* No payload */ if (status == VIR_NET_OK) { - vir_xdr_dissector_t xd = find_payload_dissector(proc, type, get_program_data(prog, VIR_PROGRAM_DISSECTORS), - *(gsize *)get_program_data(prog, VIR_PROGRAM_DISSECTORS_LEN)); + const vir_dissector_index_t *pds = get_program_data(prog, VIR_PROGRAM_DISSECTORS); + const gsize *len = get_program_data(prog, VIR_PROGRAM_DISSECTORS_LEN); + + if (!len) + goto unknown; + + vir_xdr_dissector_t xd = find_payload_dissector(proc, type, pds, *len); if (xd == NULL) goto unknown; dissect_libvirt_payload_xdr_data(tvb, tree, payload_length, status, xd); -- 2.26.2

On Thu, Jul 02, 2020 at 02:25:29PM +0200, Pavel Hrdina wrote:
With meson introduction which is using the same CFLAGS for the whole project some compilation errors were discovered.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- tools/wireshark/src/packet-libvirt.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/tools/wireshark/src/packet-libvirt.c b/tools/wireshark/src/packet-libvirt.c index 20b7a3ec812..db8efe45a39 100644 --- a/tools/wireshark/src/packet-libvirt.c +++ b/tools/wireshark/src/packet-libvirt.c @@ -77,15 +77,15 @@ static gint ett_libvirt_stream_hole = -1;
XDR_PRIMITIVE_DISSECTOR(int, gint32, int) XDR_PRIMITIVE_DISSECTOR(u_int, guint32, uint) -XDR_PRIMITIVE_DISSECTOR(short, gint16, int) +//XDR_PRIMITIVE_DISSECTOR(short, gint16, int) XDR_PRIMITIVE_DISSECTOR(u_short, guint16, uint) XDR_PRIMITIVE_DISSECTOR(char, gchar, int) XDR_PRIMITIVE_DISSECTOR(u_char, guchar, uint) XDR_PRIMITIVE_DISSECTOR(hyper, gint64, int64) XDR_PRIMITIVE_DISSECTOR(u_hyper, guint64, uint64) -XDR_PRIMITIVE_DISSECTOR(float, gfloat, float) +//XDR_PRIMITIVE_DISSECTOR(float, gfloat, float) XDR_PRIMITIVE_DISSECTOR(double, gdouble, double) -XDR_PRIMITIVE_DISSECTOR(bool, bool_t, boolean) +//XDR_PRIMITIVE_DISSECTOR(bool, bool_t, boolean)
This looks a bit iffy - what's the rationale for this ? 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 :|

On Thu, Jul 09, 2020 at 04:22:41PM +0100, Daniel P. Berrangé wrote:
On Thu, Jul 02, 2020 at 02:25:29PM +0200, Pavel Hrdina wrote:
With meson introduction which is using the same CFLAGS for the whole project some compilation errors were discovered.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- tools/wireshark/src/packet-libvirt.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/tools/wireshark/src/packet-libvirt.c b/tools/wireshark/src/packet-libvirt.c index 20b7a3ec812..db8efe45a39 100644 --- a/tools/wireshark/src/packet-libvirt.c +++ b/tools/wireshark/src/packet-libvirt.c @@ -77,15 +77,15 @@ static gint ett_libvirt_stream_hole = -1;
XDR_PRIMITIVE_DISSECTOR(int, gint32, int) XDR_PRIMITIVE_DISSECTOR(u_int, guint32, uint) -XDR_PRIMITIVE_DISSECTOR(short, gint16, int) +//XDR_PRIMITIVE_DISSECTOR(short, gint16, int) XDR_PRIMITIVE_DISSECTOR(u_short, guint16, uint) XDR_PRIMITIVE_DISSECTOR(char, gchar, int) XDR_PRIMITIVE_DISSECTOR(u_char, guchar, uint) XDR_PRIMITIVE_DISSECTOR(hyper, gint64, int64) XDR_PRIMITIVE_DISSECTOR(u_hyper, guint64, uint64) -XDR_PRIMITIVE_DISSECTOR(float, gfloat, float) +//XDR_PRIMITIVE_DISSECTOR(float, gfloat, float) XDR_PRIMITIVE_DISSECTOR(double, gdouble, double) -XDR_PRIMITIVE_DISSECTOR(bool, bool_t, boolean) +//XDR_PRIMITIVE_DISSECTOR(bool, bool_t, boolean)
This looks a bit iffy - what's the rationale for this ?
To keep it here if we ever need to use these types and to illustrate that they are not used on purpose. But it can be completely removed as well. I have no preference here. Pavel

On Thu, Jul 09, 2020 at 05:33:14PM +0200, Pavel Hrdina wrote:
On Thu, Jul 09, 2020 at 04:22:41PM +0100, Daniel P. Berrangé wrote:
On Thu, Jul 02, 2020 at 02:25:29PM +0200, Pavel Hrdina wrote:
With meson introduction which is using the same CFLAGS for the whole project some compilation errors were discovered.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- tools/wireshark/src/packet-libvirt.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/tools/wireshark/src/packet-libvirt.c b/tools/wireshark/src/packet-libvirt.c index 20b7a3ec812..db8efe45a39 100644 --- a/tools/wireshark/src/packet-libvirt.c +++ b/tools/wireshark/src/packet-libvirt.c @@ -77,15 +77,15 @@ static gint ett_libvirt_stream_hole = -1;
XDR_PRIMITIVE_DISSECTOR(int, gint32, int) XDR_PRIMITIVE_DISSECTOR(u_int, guint32, uint) -XDR_PRIMITIVE_DISSECTOR(short, gint16, int) +//XDR_PRIMITIVE_DISSECTOR(short, gint16, int) XDR_PRIMITIVE_DISSECTOR(u_short, guint16, uint) XDR_PRIMITIVE_DISSECTOR(char, gchar, int) XDR_PRIMITIVE_DISSECTOR(u_char, guchar, uint) XDR_PRIMITIVE_DISSECTOR(hyper, gint64, int64) XDR_PRIMITIVE_DISSECTOR(u_hyper, guint64, uint64) -XDR_PRIMITIVE_DISSECTOR(float, gfloat, float) +//XDR_PRIMITIVE_DISSECTOR(float, gfloat, float) XDR_PRIMITIVE_DISSECTOR(double, gdouble, double) -XDR_PRIMITIVE_DISSECTOR(bool, bool_t, boolean) +//XDR_PRIMITIVE_DISSECTOR(bool, bool_t, boolean)
This looks a bit iffy - what's the rationale for this ?
To keep it here if we ever need to use these types and to illustrate that they are not used on purpose. But it can be completely removed as well. I have no preference here.
Oh, so are you saying it was complaining about unused functions ? We could just use a pragma to squelch the warning flag in this source file. 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 :|

On Thu, Jul 09, 2020 at 04:41:29PM +0100, Daniel P. Berrangé wrote:
On Thu, Jul 09, 2020 at 05:33:14PM +0200, Pavel Hrdina wrote:
On Thu, Jul 09, 2020 at 04:22:41PM +0100, Daniel P. Berrangé wrote:
On Thu, Jul 02, 2020 at 02:25:29PM +0200, Pavel Hrdina wrote:
With meson introduction which is using the same CFLAGS for the whole project some compilation errors were discovered.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- tools/wireshark/src/packet-libvirt.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/tools/wireshark/src/packet-libvirt.c b/tools/wireshark/src/packet-libvirt.c index 20b7a3ec812..db8efe45a39 100644 --- a/tools/wireshark/src/packet-libvirt.c +++ b/tools/wireshark/src/packet-libvirt.c @@ -77,15 +77,15 @@ static gint ett_libvirt_stream_hole = -1;
XDR_PRIMITIVE_DISSECTOR(int, gint32, int) XDR_PRIMITIVE_DISSECTOR(u_int, guint32, uint) -XDR_PRIMITIVE_DISSECTOR(short, gint16, int) +//XDR_PRIMITIVE_DISSECTOR(short, gint16, int) XDR_PRIMITIVE_DISSECTOR(u_short, guint16, uint) XDR_PRIMITIVE_DISSECTOR(char, gchar, int) XDR_PRIMITIVE_DISSECTOR(u_char, guchar, uint) XDR_PRIMITIVE_DISSECTOR(hyper, gint64, int64) XDR_PRIMITIVE_DISSECTOR(u_hyper, guint64, uint64) -XDR_PRIMITIVE_DISSECTOR(float, gfloat, float) +//XDR_PRIMITIVE_DISSECTOR(float, gfloat, float) XDR_PRIMITIVE_DISSECTOR(double, gdouble, double) -XDR_PRIMITIVE_DISSECTOR(bool, bool_t, boolean) +//XDR_PRIMITIVE_DISSECTOR(bool, bool_t, boolean)
This looks a bit iffy - what's the rationale for this ?
To keep it here if we ever need to use these types and to illustrate that they are not used on purpose. But it can be completely removed as well. I have no preference here.
Oh, so are you saying it was complaining about unused functions ?
We could just use a pragma to squelch the warning flag in this source file.
Correct, I'll include a patch with this change to trigger the errors with autotools: diff --git a/tools/Makefile.am b/tools/Makefile.am index 53df930e0ac..eb8f269b486 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -378,7 +378,7 @@ if WITH_WIRESHARK_DISSECTOR ws_plugin_LTLIBRARIES = wireshark/src/libvirt.la wireshark_src_libvirt_la_CFLAGS = \ - -I wireshark/src $(WIRESHARK_DISSECTOR_CFLAGS) $(XDR_CFLAGS) + -I wireshark/src $(WIRESHARK_DISSECTOR_CFLAGS) $(XDR_CFLAGS) $(AM_CFLAGS) wireshark_src_libvirt_la_LDFLAGS = -avoid-version -module wireshark_src_libvirt_la_SOURCES = \ wireshark/src/packet-libvirt.h \ It will result in these errors: ../../tools/wireshark/src/packet-libvirt.c: In function 'dissect_libvirt_fds': ../../tools/wireshark/src/packet-libvirt.c:348:31: error: unused parameter 'tvb' [-Werror=unused-parameter] 348 | dissect_libvirt_fds(tvbuff_t *tvb, gint start, gint32 nfds) | ~~~~~~~~~~^~~ ../../tools/wireshark/src/packet-libvirt.c:348:41: error: unused parameter 'start' [-Werror=unused-parameter] 348 | dissect_libvirt_fds(tvbuff_t *tvb, gint start, gint32 nfds) | ~~~~~^~~~~ ../../tools/wireshark/src/packet-libvirt.c:348:55: error: unused parameter 'nfds' [-Werror=unused-parameter] 348 | dissect_libvirt_fds(tvbuff_t *tvb, gint start, gint32 nfds) | ~~~~~~~^~~~ At top level: ../../tools/wireshark/src/packet-libvirt.c:64:5: error: 'dissect_xdr_bool' defined but not used [-Werror=unused-function] 64 | dissect_xdr_##xtype(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf) \ | ^~~~~~~~~~~~ ../../tools/wireshark/src/packet-libvirt.c:88:1: note: in expansion of macro 'XDR_PRIMITIVE_DISSECTOR' 88 | XDR_PRIMITIVE_DISSECTOR(bool, bool_t, boolean) | ^~~~~~~~~~~~~~~~~~~~~~~ ../../tools/wireshark/src/packet-libvirt.c:64:5: error: 'dissect_xdr_float' defined but not used [-Werror=unused-function] 64 | dissect_xdr_##xtype(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf) \ | ^~~~~~~~~~~~ ../../tools/wireshark/src/packet-libvirt.c:86:1: note: in expansion of macro 'XDR_PRIMITIVE_DISSECTOR' 86 | XDR_PRIMITIVE_DISSECTOR(float, gfloat, float) | ^~~~~~~~~~~~~~~~~~~~~~~ ../../tools/wireshark/src/packet-libvirt.c:64:5: error: 'dissect_xdr_short' defined but not used [-Werror=unused-function] 64 | dissect_xdr_##xtype(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf) \ | ^~~~~~~~~~~~ ../../tools/wireshark/src/packet-libvirt.c:80:1: note: in expansion of macro 'XDR_PRIMITIVE_DISSECTOR' 80 | XDR_PRIMITIVE_DISSECTOR(short, gint16, int) | ^~~~~~~~~~~~~~~~~~~~~~~ ../../tools/wireshark/src/packet-libvirt.c: In function 'dissect_libvirt_message': ../../tools/wireshark/src/packet-libvirt.c:423:34: error: null pointer dereference [-Werror=null-dereference] 423 | vir_xdr_dissector_t xd = find_payload_dissector(proc, type, get_program_data(prog, VIR_PROGRAM_DISSECTORS), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 424 | *(gsize *)get_program_data(prog, VIR_PROGRAM_DISSECTORS_LEN)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If using the pragma solution is OK I can change it in V2. Pavel

On a Thursday in 2020, Pavel Hrdina wrote:
With meson introduction which is using the same CFLAGS for the whole project some compilation errors were discovered.
What were the errors?
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- tools/wireshark/src/packet-libvirt.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/tools/wireshark/src/packet-libvirt.c b/tools/wireshark/src/packet-libvirt.c index 20b7a3ec812..db8efe45a39 100644 --- a/tools/wireshark/src/packet-libvirt.c +++ b/tools/wireshark/src/packet-libvirt.c @@ -77,15 +77,15 @@ static gint ett_libvirt_stream_hole = -1;
XDR_PRIMITIVE_DISSECTOR(int, gint32, int) XDR_PRIMITIVE_DISSECTOR(u_int, guint32, uint) -XDR_PRIMITIVE_DISSECTOR(short, gint16, int) +//XDR_PRIMITIVE_DISSECTOR(short, gint16, int) XDR_PRIMITIVE_DISSECTOR(u_short, guint16, uint) XDR_PRIMITIVE_DISSECTOR(char, gchar, int) XDR_PRIMITIVE_DISSECTOR(u_char, guchar, uint) XDR_PRIMITIVE_DISSECTOR(hyper, gint64, int64) XDR_PRIMITIVE_DISSECTOR(u_hyper, guint64, uint64) -XDR_PRIMITIVE_DISSECTOR(float, gfloat, float) +//XDR_PRIMITIVE_DISSECTOR(float, gfloat, float) XDR_PRIMITIVE_DISSECTOR(double, gdouble, double) -XDR_PRIMITIVE_DISSECTOR(bool, bool_t, boolean) +//XDR_PRIMITIVE_DISSECTOR(bool, bool_t, boolean)
If we don't need these, we can just delete them instead of commenting them out.
typedef gboolean (*vir_xdr_dissector_t)(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf);
The rest of the changes look reasonable. Jano
@@ -345,7 +345,9 @@ dissect_libvirt_num_of_fds(tvbuff_t *tvb, proto_tree *tree) }
static void -dissect_libvirt_fds(tvbuff_t *tvb, gint start, gint32 nfds) +dissect_libvirt_fds(tvbuff_t *tvb G_GNUC_UNUSED, + gint start G_GNUC_UNUSED, + gint32 nfds G_GNUC_UNUSED) { /* TODO: NOP for now */ } @@ -420,8 +422,13 @@ dissect_libvirt_payload(tvbuff_t *tvb, proto_tree *tree, return; /* No payload */
if (status == VIR_NET_OK) { - vir_xdr_dissector_t xd = find_payload_dissector(proc, type, get_program_data(prog, VIR_PROGRAM_DISSECTORS), - *(gsize *)get_program_data(prog, VIR_PROGRAM_DISSECTORS_LEN)); + const vir_dissector_index_t *pds = get_program_data(prog, VIR_PROGRAM_DISSECTORS); + const gsize *len = get_program_data(prog, VIR_PROGRAM_DISSECTORS_LEN); + + if (!len) + goto unknown; + + vir_xdr_dissector_t xd = find_payload_dissector(proc, type, pds, *len); if (xd == NULL) goto unknown; dissect_libvirt_payload_xdr_data(tvb, tree, payload_length, status, xd); -- 2.26.2

On Thu, Jul 02, 2020 at 02:24:58PM +0200, Pavel Hrdina wrote:
While working on rewrite to Meson I discovered some parts of our current build system that could be improved to help with the transition to Meson. It will make the review of the Meson patches a bit easier.
Pavel Hrdina (31): build: use DLOPEN_LIBS directly configure: drop check for unsupported FreeBSD configure: introduce FLAT_NAMESPACE_FLAGS configure: remove usage of AC_HEADER_MAJOR Makefile: drop undefined LIB_CLOCK_GETTIME docs: remove incorrect generated files by apibuild.py docs: remove unused wrapstring.xsl file docs: drop %.png: %.fig rule m4: virt-sanlock: drop check for sanlock_inq_lockspace m4: virt-sanlock: use pkg-config to find libsanlock_client m4: virt-sanlock: drop check for SANLK_INQ_WAIT m4: virt-sanlock: drop check for sanlock_killpath() m4: virt-sanlock: drop check for sanlock_write_lockspace() m4: virt-secdriver-selinux: drop obsolete function checks m4: virt-selinux: drop check for selabel_open signature change m4: virt-xdr: rewrite XDR check po: change the format of POTFILES.in scripts: check-remote-protocol: remove unused OBJEXT argument src: Makefile: remove LOCK_CHECKING_CFLAGS leftover src: remove unnecessary -I$(srcdir)/secret include src: remote: Makefile: drop CFLAGS and LDFLAGS duplication src: logging: Makefile: drop undefined LOG_DRIVER src: util: rename some program macros src: util: Makefile: drop undefined LDEXP_LIBM src: util: Makefile: drop undefined OPENPTY_LIBS src: remote: Makefile: properly format sysconfdir in virtproxyd.conf src: unify virFileActivateDirOverride() tests: commandhelper: change how we detect if running as daemon tests: use WITH_NSS instead of NSS tools: virsh-secret: fix compilation error tools: wireshark: fix compilation errors
Ping? I know that this is not that popular part of libvirt code-base to work on but it would be nice to have it pushed quickly so I can send a followup series that switches from autoconf to Meson and it depends on these cleanup patches. Pavel

On 7/2/20 2:24 PM, Pavel Hrdina wrote:
While working on rewrite to Meson I discovered some parts of our current build system that could be improved to help with the transition to Meson. It will make the review of the Meson patches a bit easier.
Pavel Hrdina (31): build: use DLOPEN_LIBS directly configure: drop check for unsupported FreeBSD configure: introduce FLAT_NAMESPACE_FLAGS configure: remove usage of AC_HEADER_MAJOR Makefile: drop undefined LIB_CLOCK_GETTIME docs: remove incorrect generated files by apibuild.py docs: remove unused wrapstring.xsl file docs: drop %.png: %.fig rule m4: virt-sanlock: drop check for sanlock_inq_lockspace m4: virt-sanlock: use pkg-config to find libsanlock_client m4: virt-sanlock: drop check for SANLK_INQ_WAIT m4: virt-sanlock: drop check for sanlock_killpath() m4: virt-sanlock: drop check for sanlock_write_lockspace() m4: virt-secdriver-selinux: drop obsolete function checks m4: virt-selinux: drop check for selabel_open signature change m4: virt-xdr: rewrite XDR check po: change the format of POTFILES.in scripts: check-remote-protocol: remove unused OBJEXT argument src: Makefile: remove LOCK_CHECKING_CFLAGS leftover src: remove unnecessary -I$(srcdir)/secret include src: remote: Makefile: drop CFLAGS and LDFLAGS duplication src: logging: Makefile: drop undefined LOG_DRIVER src: util: rename some program macros src: util: Makefile: drop undefined LDEXP_LIBM src: util: Makefile: drop undefined OPENPTY_LIBS src: remote: Makefile: properly format sysconfdir in virtproxyd.conf src: unify virFileActivateDirOverride() tests: commandhelper: change how we detect if running as daemon tests: use WITH_NSS instead of NSS tools: virsh-secret: fix compilation error tools: wireshark: fix compilation errors
build-aux/syntax-check.mk | 4 +- configure.ac | 26 +- docs/Makefile.am | 12 +- docs/wrapstring.xsl | 56 --- m4/virt-driver-modules.m4 | 3 - m4/virt-external-programs.m4 | 8 +- m4/virt-nss.m4 | 2 +- m4/virt-sanlock.m4 | 33 +- m4/virt-secdriver-selinux.m4 | 24 +- m4/virt-selinux.m4 | 17 - m4/virt-xdr.m4 | 39 +- po/Makefile.am | 6 +- po/POTFILES.in | 726 +++++++++++++-------------- scripts/check-remote-protocol.py | 5 +- src/Makefile.am | 25 +- src/admin/Makefile.inc.am | 1 + src/libvirt.c | 2 +- src/libvirt_private.syms | 3 +- src/libxl/Makefile.inc.am | 1 - src/locking/Makefile.inc.am | 2 + src/locking/lock_daemon.c | 2 +- src/locking/lock_driver_sanlock.c | 38 -- src/logging/Makefile.inc.am | 2 +- src/logging/log_daemon.c | 2 +- src/qemu/Makefile.inc.am | 1 - src/qemu/qemu_shim.c | 2 +- src/remote/Makefile.inc.am | 13 +- src/remote/remote_daemon.c | 2 +- src/security/virt-aa-helper.c | 2 +- src/storage/Makefile.inc.am | 4 - src/util/Makefile.inc.am | 3 - src/util/virfile.c | 25 +- src/util/virfile.h | 4 +- src/util/virnetdevmidonet.c | 4 +- src/util/virnetdevopenvswitch.c | 16 +- tests/Makefile.am | 10 +- tests/commandhelper.c | 2 +- tests/nssmock.c | 2 +- tests/nsstest.c | 2 +- tests/qemucapsprobe.c | 2 +- tests/securityselinuxhelper.c | 5 +- tests/testutils.c | 2 +- tools/virsh-secret.c | 2 +- tools/virsh.c | 2 +- tools/virt-admin.c | 2 +- tools/wireshark/src/packet-libvirt.c | 19 +- 46 files changed, 472 insertions(+), 693 deletions(-) delete mode 100644 docs/wrapstring.xsl
Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Michal
participants (4)
-
Daniel P. Berrangé
-
Ján Tomko
-
Michal Privoznik
-
Pavel Hrdina