2 # Copyright (C) 2006-2012 OpenWrt.org
3 # 2014-2020 Noah Meyerhans <frodo@morgul.net>
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
9 include $(TOPDIR
)/rules.mk
14 USERID
:=bind
=57:bind
=57
16 PKG_MAINTAINER
:=Noah Meyerhans
<frodo@morgul.net
>
18 PKG_LICENSE_FILES
:=LICENSE
19 PKG_CPE_ID
:=cpe
:/a
:isc
:bind
21 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.xz
23 https
://www.mirrorservice.org
/sites
/ftp.isc.org
/isc
/bind9
/$(PKG_VERSION
) \
24 https
://ftp.isc.org
/isc
/bind9
/$(PKG_VERSION
)
25 PKG_HASH
:=27ac6513de5f8d0db34b9f241da53baa15a14b2ad21338d0cde0826eaf564f7e
28 PKG_REMOVE_FILES
:=aclocal.m4 libtool.m4
34 PKG_CONFIG_DEPENDS
:= \
38 PKG_BUILD_DEPENDS
+= BIND_LIBXML2
:libxml2 BIND_LIBJSON
:libjson-c
40 include $(INCLUDE_DIR
)/package.mk
42 define Package
/bind
/Default
45 DEPENDS
:=+bind-libs
+@OPENSSL_WITH_EC
47 URL
:=https
://www.isc.org
/software
/bind
48 SUBMENU
:=IP Addresses and Names
51 define Package
/bind-libs
54 DEPENDS
:=+libopenssl
+zlib
+libpthread
+libatomic
+libuv \
55 +BIND_LIBXML2
:libxml2
+BIND_LIBJSON
:libjson-c
56 TITLE
:=bind shared libraries
57 URL
:=https
://www.isc.org
/software
/bind
60 define Package
/bind-server
61 $(call Package
/bind
/Default
)
65 define Package
/bind-server
/config
66 source
"$(SOURCE)/Config.in"
69 define Package
/bind-server-filter-aaaa
70 $(call Package
/bind-server
)
72 TITLE
+= filter AAAA plugin
75 define Package
/bind-client
76 $(call Package
/bind
/Default
)
77 TITLE
+= dynamic DNS client
80 define Package
/bind-tools
81 $(call Package
/bind
/Default
)
82 TITLE
+= administration tools
(all)
91 define Package
/bind-rndc
92 $(call Package
/bind
/Default
)
93 TITLE
+= administration tools
(rndc and rndc-confgen only
)
96 define Package
/bind-check
97 $(call Package
/bind
/Default
)
98 TITLE
+= administration tools
(named-checkconf and named-checkzone only
)
101 define Package
/bind-dnssec
102 $(call Package
/bind
/Default
)
103 TITLE
+= administration tools
(dnssec-keygen
, dnssec-settime and dnssec-signzone only
)
106 define Package
/bind-host
107 $(call Package
/bind
/Default
)
108 TITLE
+= simple DNS client
111 define Package
/bind-dig
112 $(call Package
/bind
/Default
)
113 TITLE
+= DNS excavation tool
116 export BUILD_CC
="$(TARGET_CC)"
118 TARGET_LDFLAGS
+= -Wl
,--gc-sections
,--as-needed
121 --disable-linux-caps \
122 --with-openssl
="$(STAGING_DIR)/usr" \
129 --sysconfdir
=/etc
/bind
131 ifdef CONFIG_BIND_LIBJSON
132 TARGET_CFLAGS
+= -DHAVE_JSON_C
-UHAVE_JSON
140 ifdef CONFIG_BIND_LIBXML2
149 BUILD_CC
="$(TARGET_CC)" \
152 $(MAKE
) -C
$(PKG_BUILD_DIR
)/lib
/dns \
153 BUILD_CC
="$(HOSTCC)" \
158 $(call Build
/Compile
/Default
)
161 define Package
/bind-libs
/install
162 $(INSTALL_DIR
) $(1)/usr
/lib
163 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/*.so
* $(1)/usr
/lib
166 define Package
/bind-server
/install
167 $(INSTALL_DIR
) $(1)/usr
/sbin
168 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/named
$(1)/usr
/sbin
/
169 $(INSTALL_DIR
) $(1)/etc
/bind
172 .
/files
/bind
/db
.127 \
173 .
/files
/bind
/db
.255 \
174 .
/files
/bind
/db.local \
175 .
/files
/bind
/db.root \
176 .
/files
/bind
/bind.keys \
178 $(CP
) .
/files
/bind
/named.conf.example
$(1)/etc
/bind
/named.conf
179 $(INSTALL_DIR
) $(1)/etc
/init.d
180 $(INSTALL_BIN
) .
/files
/named.init
$(1)/etc
/init.d
/named
181 find
$(1)/etc
/bind
/ -name
".svn" | xargs
rm -rf
184 define Package
/bind-server
/conffiles
193 define Package
/bind-server-filter-aaaa
/install
194 $(INSTALL_DIR
) $(1)/usr
/lib
/named
195 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/named
/filter-aaaa.so
$(1)/usr
/lib
/named
198 define Package
/bind-client
/install
199 $(INSTALL_DIR
) $(1)/usr
/bin
200 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/nsupdate
$(1)/usr
/bin
/
203 define Package
/bind-tools
/install
204 $(INSTALL_DIR
) $(1)/usr
/bin
205 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/delv
$(1)/usr
/bin
/
208 define Package
/bind-rndc
/install
209 $(INSTALL_DIR
) $(1)/usr
/sbin
210 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/rndc
$(1)/usr
/sbin
/
211 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/rndc-confgen
$(1)/usr
/sbin
/
214 define Package
/bind-check
/install
215 $(INSTALL_DIR
) $(1)/usr
/sbin
216 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/named-checkconf
$(1)/usr
/sbin
/
217 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/named-checkzone
$(1)/usr
/sbin
/
220 define Package
/bind-dnssec
/install
221 $(INSTALL_DIR
) $(1)/usr
/sbin
222 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/dnssec-keygen
$(1)/usr
/sbin
/
223 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/dnssec-settime
$(1)/usr
/sbin
/
224 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/dnssec-signzone
$(1)/usr
/sbin
/
227 define Package
/bind-host
/install
228 $(INSTALL_DIR
) $(1)/usr
/bin
229 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/host
$(1)/usr
/bin
/
232 define Package
/bind-dig
/install
233 $(INSTALL_DIR
) $(1)/usr
/bin
234 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/dig
$(1)/usr
/bin
/
237 $(eval
$(call BuildPackage
,bind-libs
))
238 $(eval
$(call BuildPackage
,bind-server
))
239 $(eval
$(call BuildPackage
,bind-server-filter-aaaa
))
240 $(eval
$(call BuildPackage
,bind-client
))
241 $(eval
$(call BuildPackage
,bind-tools
))
242 $(eval
$(call BuildPackage
,bind-rndc
))
243 $(eval
$(call BuildPackage
,bind-check
))
244 $(eval
$(call BuildPackage
,bind-dnssec
))
245 $(eval
$(call BuildPackage
,bind-host
))
246 $(eval
$(call BuildPackage
,bind-dig
))