xref: /OK3568_Linux_fs/buildroot/package/bind/bind.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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