From 66231b6d24c2e8d96c6b5da0ce90410f43a34fb2 Mon Sep 17 00:00:00 2001 From: Hal Martin Date: Mon, 20 Nov 2017 22:51:27 +0000 Subject: [PATCH] bind: add support for building bind with libxml2 or libjson At least one of libjson|libxml2 is required for bind statistics to function. Selecting libjson|libxml2 will result in an additional dependency required to build and install bind-libs. Signed-off-by: Hal Martin --- net/bind/Config.in | 20 ++++++++++++++++++++ net/bind/Makefile | 37 +++++++++++++++++++++++++++++++++---- 2 files changed, 53 insertions(+), 4 deletions(-) diff --git a/net/bind/Config.in b/net/bind/Config.in index 04d6bdc1b..ed3734642 100644 --- a/net/bind/Config.in +++ b/net/bind/Config.in @@ -14,4 +14,24 @@ config BIND_ENABLE_FILTER_AAAA Additional details are available at https://kb.isc.org/article/AA-00576/0/Filter-AAAA-option-in-BIND-9-.html +config BIND_LIBJSON + bool + default n + prompt "Include libjson support in bind-server" + help + BIND 9 supports reporting statistics about usage. libjson + is required to report server statistics in JSON format. + Building with libjson support will require the libjson-c + package to be installed as well. + +config BIND_LIBXML2 + bool + default n + prompt "Include libxml2 support in bind-server" + help + BIND 9 supports reporting statistics about usage. + libxml2 is required to report server statistics in XML + format. Building with libjson support will require the + libxml2 package to be installed as well. + endif diff --git a/net/bind/Makefile b/net/bind/Makefile index bd33aa2ff..229e1006e 100644 --- a/net/bind/Makefile +++ b/net/bind/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bind PKG_VERSION:=9.11.2 -PKG_RELEASE:=2 +PKG_RELEASE:=3 USERID:=bind=57:bind=57 PKG_MAINTAINER:=Noah Meyerhans @@ -29,7 +29,16 @@ PKG_INSTALL:=1 PKG_USE_MIPS16:=0 PKG_CONFIG_DEPENDS := \ - CONFIG_BIND_ENABLE_FILTER_AAAA + CONFIG_BIND_ENABLE_FILTER_AAAA \ + CONFIG_BIND_LIBJSON \ + CONFIG_BIND_LIBXML2 + +ifdef CONFIG_BIND_LIBXML2 + PKG_BUILD_DEPENDS += libxml2 +endif +ifdef CONFIG_BIND_LIBJSON + PKG_BUILD_DEPENDS += libjson-c +endif include $(INCLUDE_DIR)/package.mk @@ -48,6 +57,12 @@ define Package/bind-libs DEPENDS:=+libopenssl +zlib TITLE:=bind shared libraries URL:=https://www.isc.org/software/bind +ifdef CONFIG_BIND_LIBJSON + DEPENDS+= +libjson-c +endif +ifdef CONFIG_BIND_LIBXML2 + DEPENDS+= +libxml2 +endif endef define Package/bind-server @@ -104,9 +119,7 @@ CONFIGURE_ARGS += \ --disable-threads \ --disable-linux-caps \ --with-openssl="$(STAGING_DIR)/usr" \ - --with-libjson=no \ --with-libtool \ - --with-libxml2=no \ --without-lmdb \ --enable-epoll=yes \ --with-gost=no \ @@ -120,6 +133,22 @@ ifdef CONFIG_BIND_ENABLE_FILTER_AAAA --enable-filter-aaaa endif +ifdef CONFIG_BIND_LIBJSON + CONFIGURE_ARGS += \ + --with-libjson="$(STAGING_DIR)/usr" +else + CONFIGURE_ARGS += \ + --with-libjson=no +endif + +ifdef CONFIG_BIND_LIBXML2 + CONFIGURE_ARGS += \ + --with-libxml2="$(STAGING_DIR)/usr" +else + CONFIGURE_ARGS += \ + --with-libxml2=no +endif + CONFIGURE_VARS += \ BUILD_CC="$(TARGET_CC)" \