2 # Copyright (C) 2014-2018 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
:=acebe2fbcd8f67b0cb8969376114855316fe831df08321b795147502a5e9fd74
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
21 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)-$(PKG_VERSION
)
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
50 define Package
/knot-libzscanner
51 $(call Package
/knot-lib
/Default
)
52 TITLE
+= zone parser library
56 $(call Package
/knot
/Default
)
57 TITLE
+= server with control utility
58 DEPENDS
+=+libedit
+liburcu
+knot-libs
+knot-libzscanner
59 EXTRA_DEPENDS
:=knot-libs
(=$(PKG_VERSION
)-$(PKG_RELEASE
)), \
60 knot-libzscanner
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
61 USERID
:=knot
=5353:knot
=5353
64 define Package
/knot-dig
65 $(call Package
/knot
/Default
)
66 TITLE
+= advanced DNS lookup utility
67 DEPENDS
+=+libedit
+knot-libs
68 EXTRA_DEPENDS
:=knot-libs
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
71 define Package
/knot-host
72 $(call Package
/knot
/Default
)
73 TITLE
+= simple DNS lookup utility
74 DEPENDS
+=+libedit
+knot-libs
75 EXTRA_DEPENDS
:=knot-libs
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
78 define Package
/knot-nsupdate
79 $(call Package
/knot
/Default
)
80 TITLE
+= dynamic DNS update utility
81 DEPENDS
+=+libedit
+knot-libs
+knot-libzscanner
82 EXTRA_DEPENDS
:=knot-libs
(=$(PKG_VERSION
)-$(PKG_RELEASE
)), \
83 knot-libzscanner
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
86 define Package
/knot-zonecheck
87 $(call Package
/knot
/Default
)
88 TITLE
+= zonefile
check utility
89 DEPENDS
+=+libedit
+liburcu
+knot-libs
+knot-libzscanner
90 EXTRA_DEPENDS
:=knot-libs
(=$(PKG_VERSION
)-$(PKG_RELEASE
)), \
91 knot-libzscanner
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
94 define Package
/knot-keymgr
95 $(call Package
/knot
/Default
)
96 TITLE
+= DNSSEC key management utility
97 DEPENDS
+=+libedit
+liburcu
+knot-libs
+knot-libzscanner
98 EXTRA_DEPENDS
:=knot-libs
(=$(PKG_VERSION
)-$(PKG_RELEASE
)), \
99 knot-libzscanner
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
102 define Package
/knot-tests
103 $(call Package
/knot
/Default
)
105 DEPENDS
+=+libedit
+liburcu
+knot-libs
+knot-libzscanner
106 EXTRA_DEPENDS
:=knot-libs
(=$(PKG_VERSION
)-$(PKG_RELEASE
)), \
107 knot-libzscanner
(=$(PKG_VERSION
)-$(PKG_RELEASE
))
110 define Package
/knot-libs
/description
111 Knot DNS common DNS and DNSSEC libraries.
114 define Package
/knot-libzscanner
/description
115 Knot DNS zone parser library.
118 define Package
/knot
/description
119 High-performance authoritative-only DNS server.
122 define Package
/knot-dig
/description
123 Knot DNS advanced DNS lookup utility.
126 define Package
/knot-host
/description
127 Knot DNS simple DNS lookup utility.
130 define Package
/knot-nsupdate
/description
131 Knot DNS dynamic DNS update utility.
134 define Package
/knot-zonecheck
/description
135 Knot DNS zonefile
check utility.
138 define Package
/knot-keymgr
/description
139 Knot DNS DNSSEC key management utility.
142 define Package
/knot-tests
/description
143 Unit tests for the Knot DNS server and libraries.
144 Usage
: /usr
/share
/knot
/runtests.sh
148 --enable-recvmmsg
=no \
149 --disable-fastparser \
151 --with-rundir
=/var
/run
/knot \
152 --with-storage
=/var
/lib
/knot \
153 --with-configdir
=/etc
/knot \
154 --with-conf-mapsize
=20
156 TARGET_CFLAGS
+= -DPSELECT_COMPAT
-DNDEBUG
158 define Package
/knot
/conffiles
163 $(MAKE
) -C
$(PKG_BUILD_DIR
)
164 $(MAKE
) -C
$(PKG_BUILD_DIR
)/tests check-compile
167 define Build
/InstallDev
168 $(INSTALL_DIR
) $(1)/usr
/lib
169 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/*.
{a
,so
*} $(1)/usr
/lib
/
171 $(INSTALL_DIR
) $(1)/usr
/include/libknot
172 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/libknot
/* $(1)/usr
/include/libknot
/
174 $(INSTALL_DIR
) $(1)/usr
/include/libdnssec
175 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/libdnssec
/* $(1)/usr
/include/libdnssec
/
177 $(INSTALL_DIR
) $(1)/usr
/include/libzscanner
178 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/libzscanner
/* $(1)/usr
/include/libzscanner
/
180 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
181 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/*.
pc $(1)/usr
/lib
/pkgconfig
/
184 define Package
/knot-libs
/install
185 $(INSTALL_DIR
) $(1)/usr
/lib
186 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libdnssec.so.
* $(1)/usr
/lib
/
187 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libknot.so.
* $(1)/usr
/lib
/
190 define Package
/knot-libzscanner
/install
191 $(INSTALL_DIR
) $(1)/usr
/lib
192 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libzscanner.so.
* $(1)/usr
/lib
/
195 define Package
/knot
/install
196 $(INSTALL_DIR
) $(1)/usr
/bin
197 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/knotc
$(1)/usr
/bin
/
198 $(INSTALL_DIR
) $(1)/usr
/sbin
199 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/knotd
$(1)/usr
/sbin
/
201 $(INSTALL_DIR
) $(1)/etc
/knot
202 $(INSTALL_CONF
) $(PKG_INSTALL_DIR
)/etc
/knot
/knot.sample.conf
$(1)/etc
/knot
/knot.conf
204 $(INSTALL_DIR
) $(1)/etc
/init.d
205 $(INSTALL_BIN
) .
/files
/knotd.init
$(1)/etc
/init.d
/knotd
208 define Package
/knot-dig
/install
209 $(INSTALL_DIR
) $(1)/usr
/bin
210 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/kdig
$(1)/usr
/bin
/
213 define Package
/knot-host
/install
214 $(INSTALL_DIR
) $(1)/usr
/bin
215 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/khost
$(1)/usr
/bin
/
218 define Package
/knot-nsupdate
/install
219 $(INSTALL_DIR
) $(1)/usr
/bin
220 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/knsupdate
$(1)/usr
/bin
/
223 define Package
/knot-zonecheck
/install
224 $(INSTALL_DIR
) $(1)/usr
/bin
225 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/kzonecheck
$(1)/usr
/bin
/
228 define Package
/knot-keymgr
/install
229 $(INSTALL_DIR
) $(1)/usr
/bin
230 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/keymgr
$(1)/usr
/bin
/
233 define Package
/knot-tests
/install
234 $(INSTALL_DIR
) $(1)/usr
/share
/knot
235 $(INSTALL_BIN
) .
/files
/runtests.sh
$(1)/usr
/share
/knot
/
237 $(INSTALL_DIR
) $(1)/usr
/share
/knot
/tap
238 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/tests
/tap
/runtests
$(1)/usr
/share
/knot
/tap
/
239 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/tests
/tap
/libtap.sh
$(1)/usr
/share
/knot
/tap
/
241 $(INSTALL_DIR
) $(1)/usr
/share
/knot
/tests
243 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/tests
/libzscanner
/.libs
/zscanner-tool
$(1)/usr
/share
/knot
/tests
/
244 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/tests
/libzscanner
/test_zscanner
$(1)/usr
/share
/knot
/tests
/
245 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/tests
/libzscanner
/TESTS
$(1)/usr
/share
/knot
/tests
/
246 cp
-a
$(PKG_BUILD_DIR
)/tests
/libzscanner
/data
$(1)/usr
/share
/knot
/tests
/
248 for module in contrib knot libdnssec libknot modules utils
; do \
249 find
$(PKG_BUILD_DIR
)/tests
/$$$${module}/.libs
-maxdepth
1 -executable
-type f | \
250 xargs
-I
{} basename {} | \
251 xargs
-I
{} $(INSTALL_BIN
) -T
$(PKG_BUILD_DIR
)/tests
/$$$${module}/.libs
/{} \
252 $(1)/usr
/share
/knot
/tests
/$$$${module}_
{}; \
256 $(eval
$(call BuildPackage
,knot-libs
))
257 $(eval
$(call BuildPackage
,knot-libzscanner
))
258 $(eval
$(call BuildPackage
,knot
))
259 $(eval
$(call BuildPackage
,knot-dig
))
260 $(eval
$(call BuildPackage
,knot-host
))
261 $(eval
$(call BuildPackage
,knot-nsupdate
))
262 $(eval
$(call BuildPackage
,knot-zonecheck
))
263 $(eval
$(call BuildPackage
,knot-keymgr
))
264 $(eval
$(call BuildPackage
,knot-tests
))