Merge pull request #16220 from paulfertser/socat_add_user
[feed/packages.git] / net / knot-resolver / Makefile
1 #
2 # Copyright (C) 2015-2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 PKG_RELRO_FULL:=0
9
10 include $(TOPDIR)/rules.mk
11
12 PKG_NAME:=knot-resolver
13 PKG_VERSION:=5.4.0
14 PKG_RELEASE:=1
15
16 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
17 PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-resolver
18 PKG_HASH:=534af671b98433b23b57039acc9d7d3c100a4888a8cf9aeba36161774ca0815e
19
20 PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
21 PKG_LICENSE:=GPL-3.0-later
22 PKG_LICENSE_FILES:=COPYING
23
24 PKG_BUILD_DEPENDS:=meson/host
25 PKG_INSTALL:=1
26
27 include $(INCLUDE_DIR)/package.mk
28 include ../../devel/meson/meson.mk
29
30 define Package/knot-resolver
31 SECTION:=net
32 CATEGORY:=Network
33 SUBMENU:=IP Addresses and Names
34 TITLE:=Knot DNS Resolver
35 URL:=https://www.knot-resolver.cz
36 DEPENDS=\
37 +knot-libs \
38 +knot-libzscanner \
39 +libuv \
40 +luajit \
41 +luasec \
42 +luasocket \
43 +libstdcpp \
44 +libnghttp2 \
45 +lmdb \
46 PACKAGE_knot-resolver_dnstap:libfstrm \
47 PACKAGE_knot-resolver_dnstap:libprotobuf-c
48 USERID:=kresd=3536:kresd=3536
49 endef
50
51 define Package/knot-resolver/description
52 The Knot Resolver is a caching full resolver
53 implementation, including both a resolver library and a daemon.
54 endef
55
56 define Package/knot-resolver/config
57 source "$(SOURCE)/Config.in"
58 endef
59
60 # kres_gen_test breaks on cross, fix is already upstream
61 MESON_ARGS+= \
62 $(if $(CONFIG_PACKAGE_knot-resolver_dnstap), -Ddnstap=enabled,-Ddnstap=disabled) \
63 -Dcapng=disabled \
64 -Dclient=disabled \
65 -Dconfig_tests=disabled \
66 -Ddnstap=disabled \
67 -Ddoc=disabled \
68 -Dinstall_kresd_conf=disabled \
69 -Dinstall_root_keys=disabled \
70 -Dkeyfile_default=/etc/knot-resolver/root.keys \
71 -Dprefix=/usr \
72 -Dunit_tests=disabled \
73 -Dkres_gen_test=false \
74 -Dutils=disabled
75
76 define Package/knot-resolver/install
77 $(INSTALL_DIR) $(1)/usr/sbin
78 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kresd $(1)/usr/sbin/
79
80 $(INSTALL_DIR) $(1)/usr/lib/knot-resolver
81 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
82 $(CP) $(PKG_INSTALL_DIR)/usr/lib/knot-resolver/{*.lua,*.so} $(1)/usr/lib/knot-resolver/
83 $(INSTALL_DIR) $(1)/usr/lib/knot-resolver/kres_modules
84 $(CP) $(PKG_INSTALL_DIR)/usr/lib/knot-resolver/kres_modules/{*.lua,*.so} $(1)/usr/lib/knot-resolver/kres_modules/
85 $(INSTALL_DIR) $(1)/etc/init.d
86 $(INSTALL_BIN) ./files/kresd.init $(1)/etc/init.d/kresd
87
88 $(INSTALL_DIR) $(1)/etc/knot-resolver
89 $(CP) $(PKG_INSTALL_DIR)/etc/knot-resolver/root.hints $(1)/etc/knot-resolver/
90 $(CP) ./files/root.keys $(1)/etc/knot-resolver
91 endef
92
93 $(eval $(call BuildPackage,knot-resolver))