[OE-core] [PATCH] dhcp: fix non-deterministic libxml2 dependency

Christopher Larson kergoth at gmail.com
Tue May 24 16:28:40 UTC 2016


From: Christopher Larson <chris_larson at mentor.com>

This dependency was floating, which results in non-deterministic builds. Add
a configure argument and associated PACKAGECONFIG to fix this.

The libxml dep is only needed when bind was built with a dep on libxml due to
its httpstats feature. So, when you enable the httpstats config in bind, and
want to build dhcp, be sure to also enable the bind-httpstats config in dhcp.

Signed-off-by: Christopher Larson <chris_larson at mentor.com>
---
 .../dhcp/dhcp/libxml2-configure-argument.patch     | 27 ++++++++++++++++++++++
 meta/recipes-connectivity/dhcp/dhcp_4.3.3.bb       |  4 ++++
 2 files changed, 31 insertions(+)
 create mode 100644 meta/recipes-connectivity/dhcp/dhcp/libxml2-configure-argument.patch

diff --git a/meta/recipes-connectivity/dhcp/dhcp/libxml2-configure-argument.patch b/meta/recipes-connectivity/dhcp/dhcp/libxml2-configure-argument.patch
new file mode 100644
index 0000000..9d2fbfb
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp/libxml2-configure-argument.patch
@@ -0,0 +1,27 @@
+Add configure argument to make the libxml2 dependency explicit and
+determinisitic.
+
+Upstream-Status: Pending
+
+Signed-off-by: Christopher Larson <chris_larson at mentor.com>
+
+--- dhcp-4.3.3.orig/configure.ac	2016-03-16 20:25:53.830697637 -0700
++++ dhcp-4.3.3/configure.ac	2016-03-16 20:28:19.415355257 -0700
+@@ -631,7 +631,16 @@
+
+ # We need to find libxml2 if bind was built with support enabled
+ # otherwise we'll fail to build omapip/test.c
+-AC_SEARCH_LIBS(xmlTextWriterStartElement, [xml2],)
++AC_ARG_WITH(libxml2,
++	AS_HELP_STRING([--with-libxml2], [link against libxml2. this is needed if bind was built with xml2 support enabled]),
++	with_libxml2="$withval", with_libxml2="no")
++
++if test x$with_libxml2 != xno; then
++    AC_SEARCH_LIBS(xmlTextWriterStartElement, [xml2],
++                   [if test x$with_libxml2 != xauto; then
++                        AC_MSG_FAILURE([*** Cannot find xmlTextWriterStartElement with -lxml2 and libxml2 was requested])
++                    fi])
++fi
+
+ # OpenLDAP support.
+ AC_ARG_WITH(ldap,
diff --git a/meta/recipes-connectivity/dhcp/dhcp_4.3.3.bb b/meta/recipes-connectivity/dhcp/dhcp_4.3.3.bb
index 4e8cd27..97dde1d 100644
--- a/meta/recipes-connectivity/dhcp/dhcp_4.3.3.bb
+++ b/meta/recipes-connectivity/dhcp/dhcp_4.3.3.bb
@@ -9,7 +9,11 @@ SRC_URI += "file://dhcp-3.0.3-dhclient-dbus.patch;striplevel=0 \
             file://CVE-2015-8605.patch \
             file://0001-site.h-enable-gentle-shutdown.patch \
             file://CVE-2016-2774.patch \
+            file://libxml2-configure-argument.patch \
            "
 
 SRC_URI[md5sum] = "c5577b09c9017cdd319a11ff6364268e"
 SRC_URI[sha256sum] = "553c4945b09b1c1b904c4780f34f72aaefa2fc8c6556715de0bc9d4e3d255ede"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[bind-httpstats] = "--with-libxml2,--without-libxml2,libxml2"
-- 
2.8.0




More information about the Openembedded-core mailing list