1################################################################################ 2# 3# bind 4# 5################################################################################ 6 7BIND_VERSION = 9.16.48 8BIND_SOURCE= bind-$(BIND_VERSION).tar.xz 9BIND_SITE = https://ftp.isc.org/isc/bind9/$(BIND_VERSION) 10# bind does not support parallel builds. 11BIND_MAKE = $(MAKE1) 12BIND_INSTALL_STAGING = YES 13BIND_LICENSE = MPL-2.0 14BIND_LICENSE_FILES = COPYRIGHT 15BIND_CPE_ID_VENDOR = isc 16BIND_SELINUX_MODULES = bind 17# Library CVE and not used by bind but used by ISC DHCP 18BIND_IGNORE_CVES += CVE-2019-6470 19BIND_TARGET_SERVER_SBIN = arpaname ddns-confgen dnssec-checkds dnssec-coverage 20BIND_TARGET_SERVER_SBIN += dnssec-importkey dnssec-keygen dnssec-revoke 21BIND_TARGET_SERVER_SBIN += dnssec-settime dnssec-verify genrandom 22BIND_TARGET_SERVER_SBIN += isc-hmac-fixup named-journalprint nsec3hash 23BIND_TARGET_SERVER_SBIN += lwresd named named-checkconf named-checkzone 24BIND_TARGET_SERVER_SBIN += named-compilezone rndc rndc-confgen dnssec-dsfromkey 25BIND_TARGET_SERVER_SBIN += dnssec-keyfromlabel dnssec-signzone tsig-keygen 26BIND_TARGET_TOOLS_BIN = dig host nslookup nsupdate 27BIND_CONF_ENV = \ 28 BUILD_CC="$(TARGET_CC)" \ 29 LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` 30BIND_CONF_OPTS = \ 31 --without-cmocka \ 32 --without-lmdb \ 33 --enable-epoll \ 34 --disable-backtrace \ 35 --with-openssl=$(STAGING_DIR)/usr 36 37BIND_DEPENDENCIES = host-pkgconf libuv openssl 38 39BIND_CFLAGS = $(TARGET_CFLAGS) 40 41ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_101737),y) 42BIND_CFLAGS += -O0 43endif 44 45BIND_CONF_OPTS += CFLAGS="$(BIND_CFLAGS)" 46 47ifeq ($(BR2_PACKAGE_ZLIB),y) 48BIND_CONF_OPTS += --with-zlib 49BIND_DEPENDENCIES += zlib 50else 51BIND_CONF_OPTS += --without-zlib 52endif 53 54ifeq ($(BR2_PACKAGE_JSON_C),y) 55BIND_CONF_OPTS += --with-json-c 56BIND_DEPENDENCIES += json-c 57else 58BIND_CONF_OPTS += --without-json-c 59endif 60 61ifeq ($(BR2_PACKAGE_LIBCAP),y) 62BIND_CONF_OPTS += --enable-linux-caps 63BIND_DEPENDENCIES += libcap 64else 65BIND_CONF_OPTS += --disable-linux-caps 66endif 67 68ifeq ($(BR2_PACKAGE_LIBIDN2),y) 69BIND_CONF_OPTS += --with-libidn2 70BIND_DEPENDENCIES += libidn2 71else 72BIND_CONF_OPTS += --without-libidn2 73endif 74 75ifeq ($(BR2_PACKAGE_LIBKRB5),y) 76BIND_CONF_OPTS += --with-gssapi=$(STAGING_DIR)/usr/bin/krb5-config 77BIND_DEPENDENCIES += libkrb5 78else 79BIND_CONF_OPTS += --with-gssapi=no 80endif 81 82ifeq ($(BR2_PACKAGE_LIBMAXMINDDB),y) 83BIND_CONF_OPTS += --enable-geoip --with-maxminddb 84BIND_DEPENDENCIES += libmaxminddb 85else 86BIND_CONF_OPTS += --disable-geoip 87endif 88 89ifeq ($(BR2_PACKAGE_LIBXML2),y) 90BIND_CONF_OPTS += --with-libxml2 91BIND_DEPENDENCIES += libxml2 92else 93BIND_CONF_OPTS += --with-libxml2=no 94endif 95 96# Used by dnssec-keymgr 97ifeq ($(BR2_PACKAGE_PYTHON_PLY),y) 98BIND_DEPENDENCIES += host-python-ply 99BIND_CONF_OPTS += --with-python=$(HOST_DIR)/bin/python 100else 101BIND_CONF_OPTS += --with-python=no 102endif 103 104ifeq ($(BR2_PACKAGE_READLINE),y) 105BIND_DEPENDENCIES += readline 106else 107BIND_CONF_OPTS += --with-readline=no 108endif 109 110ifeq ($(BR2_STATIC_LIBS),y) 111BIND_CONF_OPTS += \ 112 --without-dlopen \ 113 --without-libtool 114else 115BIND_CONF_OPTS += \ 116 --with-dlopen \ 117 --with-libtool 118endif 119 120define BIND_TARGET_REMOVE_SERVER 121 rm -rf $(addprefix $(TARGET_DIR)/usr/sbin/, $(BIND_TARGET_SERVER_SBIN)) 122endef 123 124define BIND_TARGET_REMOVE_TOOLS 125 rm -rf $(addprefix $(TARGET_DIR)/usr/bin/, $(BIND_TARGET_TOOLS_BIN)) 126endef 127 128ifeq ($(BR2_PACKAGE_BIND_SERVER),y) 129define BIND_INSTALL_INIT_SYSV 130 $(INSTALL) -m 0755 -D $(BIND_PKGDIR)/S81named \ 131 $(TARGET_DIR)/etc/init.d/S81named 132endef 133define BIND_INSTALL_INIT_SYSTEMD 134 $(INSTALL) -D -m 644 $(BIND_PKGDIR)/named.service \ 135 $(TARGET_DIR)/usr/lib/systemd/system/named.service 136endef 137else 138BIND_POST_INSTALL_TARGET_HOOKS += BIND_TARGET_REMOVE_SERVER 139endif 140 141ifeq ($(BR2_PACKAGE_BIND_TOOLS),) 142BIND_POST_INSTALL_TARGET_HOOKS += BIND_TARGET_REMOVE_TOOLS 143endif 144 145define BIND_USERS 146 named -1 named -1 * /etc/bind - - BIND daemon 147endef 148 149$(eval $(autotools-package)) 150