[libvirt] [PATCH] Disallow inclusion of files from src/conf into src/utils

Peter Krempa pkrempa at redhat.com
Mon Feb 20 13:58:49 UTC 2017


The utils code should stay separated from other code (except for very
well justified cases). Unfortunately commit 272769beccd7479c75e700a6cb
made it trivial to break the separation (and not get slapped by the
syntax-check rule) by adding -I src/conf to the CFLAGS for utils.

Remove this shortcut and except the two offenders from the syntax check
so that the codebase can be kept separated.
---
 cfg.mk                       | 3 +++
 src/Makefile.am              | 3 +--
 src/util/virclosecallbacks.h | 2 +-
 src/util/virhostdev.h        | 2 +-
 4 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/cfg.mk b/cfg.mk
index 69e3f3a1a..aaba61f1d 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -1242,3 +1242,6 @@ exclude_file_name_regexp--sc_prohibit_always-defined_macros = \

 exclude_file_name_regexp--sc_prohibit_readdir = \
   ^tests/.*mock\.c$$
+
+exclude_file_name_regexp--sc_prohibit_cross_inclusion = \
+  ^(src/util/virclosecallbacks\.h|src/util/virhostdev\.h)$$
diff --git a/src/Makefile.am b/src/Makefile.am
index 46ca272eb..4f3f8f0bd 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1137,8 +1137,7 @@ libvirt_util_la_SOURCES =					\
 libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
 		$(AM_CFLAGS) $(AUDIT_CFLAGS) $(DEVMAPPER_CFLAGS) \
 		$(DBUS_CFLAGS) $(LDEXP_LIBM) $(NUMACTL_CFLAGS)	\
-		$(POLKIT_CFLAGS) $(GNUTLS_CFLAGS) $(ACL_CFLAGS) \
-		-I$(srcdir)/conf
+		$(POLKIT_CFLAGS) $(GNUTLS_CFLAGS) $(ACL_CFLAGS)
 libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
 		$(THREAD_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
 		$(LIB_CLOCK_GETTIME) $(DBUS_LIBS) $(WIN32_EXTRA_LIBS) $(LIBXML_LIBS) \
diff --git a/src/util/virclosecallbacks.h b/src/util/virclosecallbacks.h
index 4df0a0060..d48997181 100644
--- a/src/util/virclosecallbacks.h
+++ b/src/util/virclosecallbacks.h
@@ -25,7 +25,7 @@
 #ifndef __VIR_CLOSE_CALLBACKS__
 # define __VIR_CLOSE_CALLBACKS__

-# include "virdomainobjlist.h"
+# include "conf/virdomainobjlist.h"

 typedef struct _virCloseCallbacks virCloseCallbacks;
 typedef virCloseCallbacks *virCloseCallbacksPtr;
diff --git a/src/util/virhostdev.h b/src/util/virhostdev.h
index 4c1fea3ef..1202136c2 100644
--- a/src/util/virhostdev.h
+++ b/src/util/virhostdev.h
@@ -31,7 +31,7 @@
 # include "virusb.h"
 # include "virscsi.h"
 # include "virscsivhost.h"
-# include "domain_conf.h"
+# include "conf/domain_conf.h"

 typedef enum {
     VIR_HOSTDEV_STRICT_ACS_CHECK     = (1 << 0), /* strict acs check */
-- 
2.11.0




More information about the libvir-list mailing list