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
:=299e8de918f9fc7ecbe625b41cb085e47cdda542612efbd51cd5ec60deb9dd13
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 \
155 --disable-fastparser \
157 --with-libnghttp2
=no \
158 --with-rundir
=/var
/run
/knot \
159 --with-storage
=/var
/lib
/knot \
160 --with-configdir
=/etc
/knot \
161 --with-conf-mapsize
=20
163 TARGET_CFLAGS
+= -DNDEBUG
165 define Package
/knot
/conffiles
170 $(MAKE
) -C
$(PKG_BUILD_DIR
)
171 $(MAKE
) -C
$(PKG_BUILD_DIR
)/tests check-compile
174 ifneq ($(CONFIG_arc
),y
)
175 define Build
/InstallDev
176 $(INSTALL_DIR
) $(1)/usr
/lib
177 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/*.
{a
,so
*} $(1)/usr
/lib
/
179 $(INSTALL_DIR
) $(1)/usr
/include/libknot
180 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/libknot
/* $(1)/usr
/include/libknot
/
182 $(INSTALL_DIR
) $(1)/usr
/include/libdnssec
183 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/libdnssec
/* $(1)/usr
/include/libdnssec
/
185 $(INSTALL_DIR
) $(1)/usr
/include/libzscanner
186 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/libzscanner
/* $(1)/usr
/include/libzscanner
/
188 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
189 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/*.
pc $(1)/usr
/lib
/pkgconfig
/
193 define Package
/knot-libs
/install
194 $(INSTALL_DIR
) $(1)/usr
/lib
195 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libdnssec.so.
* $(1)/usr
/lib
/
196 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libknot.so.
* $(1)/usr
/lib
/
199 define Package
/knot-libzscanner
/install
200 $(INSTALL_DIR
) $(1)/usr
/lib
201 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libzscanner.so.
* $(1)/usr
/lib
/
204 define Package
/knot
/install
205 $(INSTALL_DIR
) $(1)/usr
/bin
206 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/knotc
$(1)/usr
/bin
/
207 $(INSTALL_DIR
) $(1)/usr
/sbin
208 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/knotd
$(1)/usr
/sbin
/
210 $(INSTALL_DIR
) $(1)/etc
/knot
211 $(INSTALL_CONF
) $(PKG_INSTALL_DIR
)/etc
/knot
/knot.sample.conf
$(1)/etc
/knot
/knot.conf
213 $(INSTALL_DIR
) $(1)/etc
/init.d
214 $(INSTALL_BIN
) .
/files
/knotd.init
$(1)/etc
/init.d
/knotd
217 define Package
/knot-dig
/install
218 $(INSTALL_DIR
) $(1)/usr
/bin
219 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/kdig
$(1)/usr
/bin
/
222 define Package
/knot-host
/install
223 $(INSTALL_DIR
) $(1)/usr
/bin
224 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/khost
$(1)/usr
/bin
/
227 define Package
/knot-nsupdate
/install
228 $(INSTALL_DIR
) $(1)/usr
/bin
229 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/knsupdate
$(1)/usr
/bin
/
232 define Package
/knot-zonecheck
/install
233 $(INSTALL_DIR
) $(1)/usr
/bin
234 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/kzonecheck
$(1)/usr
/bin
/
237 define Package
/knot-keymgr
/install
238 $(INSTALL_DIR
) $(1)/usr
/bin
239 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/keymgr
$(1)/usr
/bin
/
242 define Package
/knot-tests
/install
243 $(INSTALL_DIR
) $(1)/usr
/share
/knot
244 $(INSTALL_BIN
) .
/files
/runtests.sh
$(1)/usr
/share
/knot
/
246 $(INSTALL_DIR
) $(1)/usr
/share
/knot
/tap
247 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/tests
/tap
/.libs
/runtests
$(1)/usr
/share
/knot
/tap
/
248 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/tests
/tap
/libtap.sh
$(1)/usr
/share
/knot
/tap
/
250 $(INSTALL_DIR
) $(1)/usr
/share
/knot
/tests
252 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/tests
/libzscanner
/.libs
/zscanner-tool
$(1)/usr
/share
/knot
/tests
/
253 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/tests
/libzscanner
/test_zscanner
$(1)/usr
/share
/knot
/tests
/
254 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/tests
/libzscanner
/TESTS
$(1)/usr
/share
/knot
/tests
/
255 cp
-a
$(PKG_BUILD_DIR
)/tests
/libzscanner
/data
$(1)/usr
/share
/knot
/tests
/
257 for module in contrib knot libdnssec libknot modules utils
; do \
258 find
$(PKG_BUILD_DIR
)/tests
/$$$${module}/.libs
-maxdepth
1 -executable
-type f | \
259 xargs
-I
{} basename {} | \
260 xargs
-I
{} $(INSTALL_BIN
) -T
$(PKG_BUILD_DIR
)/tests
/$$$${module}/.libs
/{} \
261 $(1)/usr
/share
/knot
/tests
/$$$${module}_
{}; \
265 $(eval
$(call BuildPackage
,knot-libs
))
266 $(eval
$(call BuildPackage
,knot-libzscanner
))
267 $(eval
$(call BuildPackage
,knot
))
268 $(eval
$(call BuildPackage
,knot-dig
))
269 $(eval
$(call BuildPackage
,knot-host
))
270 $(eval
$(call BuildPackage
,knot-nsupdate
))
271 $(eval
$(call BuildPackage
,knot-zonecheck
))
272 $(eval
$(call BuildPackage
,knot-keymgr
))
273 $(eval
$(call BuildPackage
,knot-tests
))