2 # Copyright (C) 2014-2021 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
14 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.xz
15 PKG_SOURCE_URL
:=https
://secure.nic.cz
/files
/knot-dns
/
16 PKG_HASH
:=f3f4b1d49ec9b81113b14a38354b823bd4a470356ed7e8e555595b6fd1ac80c9
18 PKG_MAINTAINER
:=Daniel Salzman
<daniel.salzman@nic.cz
>
19 PKG_LICENSE
:=GPL-3.0 LGPL-2.0
0BSD BSD-3-Clause OLDAP-2.8
20 PKG_CPE_ID
:=cpe
:/a
:knot-dns
:knot_dns
25 include $(INCLUDE_DIR
)/package.mk
27 define Package
/knot-lib
/Default
32 URL
:=https
://www.knot-dns.cz
35 define Package
/knot
/Default
38 SUBMENU
:=IP Addresses and Names
41 URL
:=https
://www.knot-dns.cz
44 define Package
/knot-libs
45 $(call Package
/knot-lib
/Default
)
46 TITLE
+= common DNS and DNSSEC libraries
47 DEPENDS
+=+libgnutls
+lmdb @
!arc
50 define Package
/knot-libzscanner
51 $(call Package
/knot-lib
/Default
)
52 TITLE
+= zone parser library
57 $(call Package
/knot
/Default
)
58 TITLE
+= server with control utility
59 DEPENDS
+=+libedit
+liburcu
+knot-libs
+knot-libzscanner
60 EXTRA_DEPENDS
:=knot-libs
(=$(PKG_VERSION
)-$(PKG_RELEASE
)), \
61 knot-libzscanner
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
62 USERID
:=knot
=5353:knot
=5353
65 define Package
/knot-dig
66 $(call Package
/knot
/Default
)
67 TITLE
+= advanced DNS lookup utility
68 DEPENDS
+=+libedit
+knot-libs
69 EXTRA_DEPENDS
:=knot-libs
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
72 define Package
/knot-host
73 $(call Package
/knot
/Default
)
74 TITLE
+= simple DNS lookup utility
75 DEPENDS
+=+libedit
+knot-libs
76 EXTRA_DEPENDS
:=knot-libs
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
79 define Package
/knot-nsupdate
80 $(call Package
/knot
/Default
)
81 TITLE
+= dynamic DNS update utility
82 DEPENDS
+=+libedit
+knot-libs
+knot-libzscanner
83 EXTRA_DEPENDS
:=knot-libs
(=$(PKG_VERSION
)-$(PKG_RELEASE
)), \
84 knot-libzscanner
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
87 define Package
/knot-zonecheck
88 $(call Package
/knot
/Default
)
89 TITLE
+= zonefile
check utility
90 DEPENDS
+=+libedit
+liburcu
+knot-libs
+knot-libzscanner
91 EXTRA_DEPENDS
:=knot-libs
(=$(PKG_VERSION
)-$(PKG_RELEASE
)), \
92 knot-libzscanner
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
95 define Package
/knot-keymgr
96 $(call Package
/knot
/Default
)
97 TITLE
+= DNSSEC key management utility
98 DEPENDS
+=+libedit
+liburcu
+knot-libs
+knot-libzscanner
99 EXTRA_DEPENDS
:=knot-libs
(=$(PKG_VERSION
)-$(PKG_RELEASE
)), \
100 knot-libzscanner
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
103 define Package
/knot-tests
104 $(call Package
/knot
/Default
)
106 DEPENDS
+=+libedit
+liburcu
+knot-libs
+knot-libzscanner
107 EXTRA_DEPENDS
:=knot-libs
(=$(PKG_VERSION
)-$(PKG_RELEASE
)), \
108 knot-libzscanner
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
111 define Package
/knot-libs
/description
112 Knot DNS common DNS and DNSSEC libraries.
115 define Package
/knot-libzscanner
/description
116 Knot DNS zone parser library.
119 define Package
/knot
/description
120 High-performance authoritative-only DNS server.
123 define Package
/knot-dig
/description
124 Knot DNS advanced DNS lookup utility.
127 define Package
/knot-host
/description
128 Knot DNS simple DNS lookup utility.
131 define Package
/knot-nsupdate
/description
132 Knot DNS dynamic DNS update utility.
135 define Package
/knot-zonecheck
/description
136 Knot DNS zonefile
check utility.
139 define Package
/knot-keymgr
/description
140 Knot DNS DNSSEC key management utility.
143 define Package
/knot-tests
/description
144 Unit tests for the Knot DNS server and libraries.
145 Usage
: /usr
/share
/knot
/runtests.sh
148 export KNOT_VERSION_FORMAT
=release
151 --enable-recvmmsg
=no \
154 --enable-maxminddb
=no \
156 --disable-fastparser \
158 --with-libnghttp2
=no \
159 --with-rundir
=/var
/run
/knot \
160 --with-storage
=/var
/lib
/knot \
161 --with-configdir
=/etc
/knot \
162 --with-conf-mapsize
=20
164 TARGET_CFLAGS
+= -DNDEBUG
166 define Package
/knot
/conffiles
171 $(MAKE
) -C
$(PKG_BUILD_DIR
)
172 $(MAKE
) -C
$(PKG_BUILD_DIR
)/tests check-compile
175 ifneq ($(CONFIG_arc
),y
)
176 define Build
/InstallDev
177 $(INSTALL_DIR
) $(1)/usr
/lib
178 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/*.
{a
,so
*} $(1)/usr
/lib
/
180 $(INSTALL_DIR
) $(1)/usr
/include/libknot
181 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/libknot
/* $(1)/usr
/include/libknot
/
183 $(INSTALL_DIR
) $(1)/usr
/include/libdnssec
184 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/libdnssec
/* $(1)/usr
/include/libdnssec
/
186 $(INSTALL_DIR
) $(1)/usr
/include/libzscanner
187 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/libzscanner
/* $(1)/usr
/include/libzscanner
/
189 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
190 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/*.
pc $(1)/usr
/lib
/pkgconfig
/
194 define Package
/knot-libs
/install
195 $(INSTALL_DIR
) $(1)/usr
/lib
196 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libdnssec.so.
* $(1)/usr
/lib
/
197 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libknot.so.
* $(1)/usr
/lib
/
200 define Package
/knot-libzscanner
/install
201 $(INSTALL_DIR
) $(1)/usr
/lib
202 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libzscanner.so.
* $(1)/usr
/lib
/
205 define Package
/knot
/install
206 $(INSTALL_DIR
) $(1)/usr
/bin
207 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/knotc
$(1)/usr
/bin
/
208 $(INSTALL_DIR
) $(1)/usr
/sbin
209 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/knotd
$(1)/usr
/sbin
/
211 $(INSTALL_DIR
) $(1)/etc
/knot
212 $(INSTALL_CONF
) $(PKG_INSTALL_DIR
)/etc
/knot
/knot.sample.conf
$(1)/etc
/knot
/knot.conf
214 $(INSTALL_DIR
) $(1)/etc
/init.d
215 $(INSTALL_BIN
) .
/files
/knotd.init
$(1)/etc
/init.d
/knotd
218 define Package
/knot-dig
/install
219 $(INSTALL_DIR
) $(1)/usr
/bin
220 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/kdig
$(1)/usr
/bin
/
223 define Package
/knot-host
/install
224 $(INSTALL_DIR
) $(1)/usr
/bin
225 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/khost
$(1)/usr
/bin
/
228 define Package
/knot-nsupdate
/install
229 $(INSTALL_DIR
) $(1)/usr
/bin
230 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/knsupdate
$(1)/usr
/bin
/
233 define Package
/knot-zonecheck
/install
234 $(INSTALL_DIR
) $(1)/usr
/bin
235 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/kzonecheck
$(1)/usr
/bin
/
238 define Package
/knot-keymgr
/install
239 $(INSTALL_DIR
) $(1)/usr
/bin
240 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/keymgr
$(1)/usr
/bin
/
243 define Package
/knot-tests
/install
244 $(INSTALL_DIR
) $(1)/usr
/share
/knot
245 $(INSTALL_BIN
) .
/files
/runtests.sh
$(1)/usr
/share
/knot
/
247 $(INSTALL_DIR
) $(1)/usr
/share
/knot
/tap
248 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/tests
/tap
/.libs
/runtests
$(1)/usr
/share
/knot
/tap
/
249 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/tests
/tap
/libtap.sh
$(1)/usr
/share
/knot
/tap
/
251 $(INSTALL_DIR
) $(1)/usr
/share
/knot
/tests
253 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/tests
/libzscanner
/.libs
/zscanner-tool
$(1)/usr
/share
/knot
/tests
/
254 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/tests
/libzscanner
/test_zscanner
$(1)/usr
/share
/knot
/tests
/
255 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/tests
/libzscanner
/TESTS
$(1)/usr
/share
/knot
/tests
/
256 cp
-a
$(PKG_BUILD_DIR
)/tests
/libzscanner
/data
$(1)/usr
/share
/knot
/tests
/
258 for module in contrib knot libdnssec libknot modules utils
; do \
259 find
$(PKG_BUILD_DIR
)/tests
/$$$${module}/.libs
-maxdepth
1 -executable
-type f | \
260 xargs
-I
{} basename {} | \
261 xargs
-I
{} $(INSTALL_BIN
) -T
$(PKG_BUILD_DIR
)/tests
/$$$${module}/.libs
/{} \
262 $(1)/usr
/share
/knot
/tests
/$$$${module}_
{}; \
266 $(eval
$(call BuildPackage
,knot-libs
))
267 $(eval
$(call BuildPackage
,knot-libzscanner
))
268 $(eval
$(call BuildPackage
,knot
))
269 $(eval
$(call BuildPackage
,knot-dig
))
270 $(eval
$(call BuildPackage
,knot-host
))
271 $(eval
$(call BuildPackage
,knot-nsupdate
))
272 $(eval
$(call BuildPackage
,knot-zonecheck
))
273 $(eval
$(call BuildPackage
,knot-keymgr
))
274 $(eval
$(call BuildPackage
,knot-tests
))