1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# bind 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunBIND_VERSION = 9.11.36 8*4882a593SmuzhiyunBIND_SITE = https://ftp.isc.org/isc/bind9/$(BIND_VERSION) 9*4882a593Smuzhiyun# bind does not support parallel builds. 10*4882a593SmuzhiyunBIND_MAKE = $(MAKE1) 11*4882a593SmuzhiyunBIND_INSTALL_STAGING = YES 12*4882a593SmuzhiyunBIND_CONFIG_SCRIPTS = bind9-config isc-config.sh 13*4882a593SmuzhiyunBIND_LICENSE = MPL-2.0 14*4882a593SmuzhiyunBIND_LICENSE_FILES = COPYRIGHT 15*4882a593SmuzhiyunBIND_CPE_ID_VENDOR = isc 16*4882a593SmuzhiyunBIND_SELINUX_MODULES = bind 17*4882a593Smuzhiyun# Only applies to RHEL6.x with DNSSEC validation on 18*4882a593SmuzhiyunBIND_IGNORE_CVES = CVE-2017-3139 19*4882a593Smuzhiyun# Library CVE and not used by bind but used by ISC DHCP 20*4882a593SmuzhiyunBIND_IGNORE_CVES += CVE-2019-6470 21*4882a593SmuzhiyunBIND_TARGET_SERVER_SBIN = arpaname ddns-confgen dnssec-checkds dnssec-coverage 22*4882a593SmuzhiyunBIND_TARGET_SERVER_SBIN += dnssec-importkey dnssec-keygen dnssec-revoke 23*4882a593SmuzhiyunBIND_TARGET_SERVER_SBIN += dnssec-settime dnssec-verify genrandom 24*4882a593SmuzhiyunBIND_TARGET_SERVER_SBIN += isc-hmac-fixup named-journalprint nsec3hash 25*4882a593SmuzhiyunBIND_TARGET_SERVER_SBIN += lwresd named named-checkconf named-checkzone 26*4882a593SmuzhiyunBIND_TARGET_SERVER_SBIN += named-compilezone rndc rndc-confgen dnssec-dsfromkey 27*4882a593SmuzhiyunBIND_TARGET_SERVER_SBIN += dnssec-keyfromlabel dnssec-signzone tsig-keygen 28*4882a593SmuzhiyunBIND_TARGET_TOOLS_BIN = dig host nslookup nsupdate 29*4882a593SmuzhiyunBIND_CONF_ENV = \ 30*4882a593Smuzhiyun BUILD_CC="$(TARGET_CC)" \ 31*4882a593Smuzhiyun BUILD_CFLAGS="$(TARGET_CFLAGS)" 32*4882a593SmuzhiyunBIND_CONF_OPTS = \ 33*4882a593Smuzhiyun $(if $(BR2_TOOLCHAIN_HAS_THREADS),--enable-threads,--disable-threads) \ 34*4882a593Smuzhiyun --without-lmdb \ 35*4882a593Smuzhiyun --with-libjson=no \ 36*4882a593Smuzhiyun --with-randomdev=/dev/urandom \ 37*4882a593Smuzhiyun --enable-epoll \ 38*4882a593Smuzhiyun --with-gssapi=no \ 39*4882a593Smuzhiyun --enable-filter-aaaa \ 40*4882a593Smuzhiyun --disable-backtrace 41*4882a593Smuzhiyun 42*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ZLIB),y) 43*4882a593SmuzhiyunBIND_CONF_OPTS += --with-zlib=$(STAGING_DIR)/usr 44*4882a593SmuzhiyunBIND_DEPENDENCIES += zlib 45*4882a593Smuzhiyunelse 46*4882a593SmuzhiyunBIND_CONF_OPTS += --without-zlib 47*4882a593Smuzhiyunendif 48*4882a593Smuzhiyun 49*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBCAP),y) 50*4882a593SmuzhiyunBIND_CONF_OPTS += --enable-linux-caps 51*4882a593SmuzhiyunBIND_DEPENDENCIES += libcap 52*4882a593Smuzhiyunelse 53*4882a593SmuzhiyunBIND_CONF_OPTS += --disable-linux-caps 54*4882a593Smuzhiyunendif 55*4882a593Smuzhiyun 56*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBXML2),y) 57*4882a593SmuzhiyunBIND_CONF_OPTS += --with-libxml2=$(STAGING_DIR)/usr 58*4882a593SmuzhiyunBIND_DEPENDENCIES += libxml2 59*4882a593Smuzhiyunelse 60*4882a593SmuzhiyunBIND_CONF_OPTS += --with-libxml2=no 61*4882a593Smuzhiyunendif 62*4882a593Smuzhiyun 63*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENSSL),y) 64*4882a593SmuzhiyunBIND_DEPENDENCIES += host-pkgconf openssl 65*4882a593SmuzhiyunBIND_CONF_OPTS += \ 66*4882a593Smuzhiyun --with-openssl=$(STAGING_DIR)/usr \ 67*4882a593Smuzhiyun --with-ecdsa=yes \ 68*4882a593Smuzhiyun --with-eddsa=no \ 69*4882a593Smuzhiyun --with-aes=yes 70*4882a593SmuzhiyunBIND_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` 71*4882a593Smuzhiyun# GOST cipher support requires openssl extra engines 72*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENSSL_ENGINES),y) 73*4882a593SmuzhiyunBIND_CONF_OPTS += --with-gost=yes 74*4882a593Smuzhiyunelse 75*4882a593SmuzhiyunBIND_CONF_OPTS += --with-gost=no 76*4882a593Smuzhiyunendif 77*4882a593Smuzhiyunelse 78*4882a593SmuzhiyunBIND_CONF_OPTS += --with-openssl=no 79*4882a593Smuzhiyunendif 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun# Used by dnssec-keymgr 82*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PYTHON_PLY),y) 83*4882a593SmuzhiyunBIND_DEPENDENCIES += host-python-ply 84*4882a593SmuzhiyunBIND_CONF_OPTS += --with-python=$(HOST_DIR)/usr/bin/python 85*4882a593Smuzhiyunelse 86*4882a593SmuzhiyunBIND_CONF_OPTS += --with-python=no 87*4882a593Smuzhiyunendif 88*4882a593Smuzhiyun 89*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_READLINE),y) 90*4882a593SmuzhiyunBIND_DEPENDENCIES += readline 91*4882a593Smuzhiyunelse 92*4882a593SmuzhiyunBIND_CONF_OPTS += --with-readline=no 93*4882a593Smuzhiyunendif 94*4882a593Smuzhiyun 95*4882a593Smuzhiyunifeq ($(BR2_STATIC_LIBS),y) 96*4882a593SmuzhiyunBIND_CONF_OPTS += \ 97*4882a593Smuzhiyun --without-dlopen \ 98*4882a593Smuzhiyun --without-libtool 99*4882a593Smuzhiyunelse 100*4882a593SmuzhiyunBIND_CONF_OPTS += \ 101*4882a593Smuzhiyun --with-dlopen \ 102*4882a593Smuzhiyun --with-libtool 103*4882a593Smuzhiyunendif 104*4882a593Smuzhiyun 105*4882a593Smuzhiyundefine BIND_TARGET_REMOVE_SERVER 106*4882a593Smuzhiyun rm -rf $(addprefix $(TARGET_DIR)/usr/sbin/, $(BIND_TARGET_SERVER_SBIN)) 107*4882a593Smuzhiyunendef 108*4882a593Smuzhiyun 109*4882a593Smuzhiyundefine BIND_TARGET_REMOVE_TOOLS 110*4882a593Smuzhiyun rm -rf $(addprefix $(TARGET_DIR)/usr/bin/, $(BIND_TARGET_TOOLS_BIN)) 111*4882a593Smuzhiyunendef 112*4882a593Smuzhiyun 113*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_BIND_SERVER),y) 114*4882a593Smuzhiyundefine BIND_INSTALL_INIT_SYSV 115*4882a593Smuzhiyun $(INSTALL) -m 0755 -D $(BIND_PKGDIR)/S81named \ 116*4882a593Smuzhiyun $(TARGET_DIR)/etc/init.d/S81named 117*4882a593Smuzhiyunendef 118*4882a593Smuzhiyundefine BIND_INSTALL_INIT_SYSTEMD 119*4882a593Smuzhiyun $(INSTALL) -D -m 644 $(BIND_PKGDIR)/named.service \ 120*4882a593Smuzhiyun $(TARGET_DIR)/usr/lib/systemd/system/named.service 121*4882a593Smuzhiyunendef 122*4882a593Smuzhiyunelse 123*4882a593SmuzhiyunBIND_POST_INSTALL_TARGET_HOOKS += BIND_TARGET_REMOVE_SERVER 124*4882a593Smuzhiyunendif 125*4882a593Smuzhiyun 126*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_BIND_TOOLS),) 127*4882a593SmuzhiyunBIND_POST_INSTALL_TARGET_HOOKS += BIND_TARGET_REMOVE_TOOLS 128*4882a593Smuzhiyunendif 129*4882a593Smuzhiyun 130*4882a593Smuzhiyundefine BIND_USERS 131*4882a593Smuzhiyun named -1 named -1 * /etc/bind - - BIND daemon 132*4882a593Smuzhiyunendef 133*4882a593Smuzhiyun 134*4882a593Smuzhiyun$(eval $(autotools-package)) 135