aboutsummaryrefslogtreecommitdiff
path: root/net/dnsdist/Makefile
blob: e2b6a6c0c10ba046c4e38cea56f6dc98707a5663 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
include $(TOPDIR)/rules.mk

PKG_NAME:=dnsdist
PKG_VERSION:=1.3.3
PKG_RELEASE:=2

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://downloads.powerdns.com/releases/
PKG_HASH:=9fb24f9032025955169f3c6e9b0a05b6aa9d6441ec47da08d22de1c1aa23e8cf

PKG_MAINTAINER:=James Taylor <james@jtaylor.id.au>
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=COPYING

PKG_INSTALL:=1

PKG_CONFIG_DEPENDS:= \
  CONFIG_DNSDIST_GNUTLS \
  CONFIG_DNSDIST_OPENSSL

include $(INCLUDE_DIR)/package.mk

define Package/dnsdist/config
comment "SSL support"

choice
        prompt "Selected SSL library"
        default DNSDIST_OPENSSSL

        config DNSDIST_OPENSSL
                bool "OpenSSL"

        config DNSDIST_GNUTLS
                bool "GnuTLS"

        config DNSDIST_NOSSL
                bool "No SSL support"

endchoice
endef

define Package/dnsdist
  SECTION:=base
  CATEGORY:=Network
  TITLE:=dnsdist DNS-, DOS- and abuse-aware loadbalancer
  DEPENDS:=+DNSDIST_OPENSSL:libopenssl +DNSDIST_GNUTLS:libgnutls +protobuf +re2 +libedit +libfstrm +libsodium +lua +boost +libnetsnmp +libatomic
  URL:=https://dnsdist.org/
endef

define Package/dnsdist/description
  dnsdist is a highly DNS-, DoS- and abuse-aware loadbalancer. Its goal in life
  is to route traffic to the best server, delivering top performance to legitimate
  users while shunting or blocking abusive traffic.
endef

define Package/dnsdist/conffiles
/etc/dnsdist.conf
/etc/config/dnsdist
/etc/init.d/dnsdist
endef

CONFIGURE_ARGS+= \
	--enable-dnscrypt \
	$(if $(CONFIG_DNSDIST_NOSSL),,--enable-dns-over-tls) \
	--enable-fstrm \
	--enable-libsodium \
	--enable-protobuf \
	--enable-re2 \
	--with-net-snmp \
        $(if $(CONFIG_DNSDIST_GNUTLS),--enable,--disable)-gnutls \
        $(if $(CONFIG_DNSDIST_OPENSSL),--enable,--disable)-libssl

define Package/dnsdist/install
	$(INSTALL_DIR) $(1)/etc
	$(INSTALL_CONF) ./files/dnsdist.conf $(1)/etc/dnsdist.conf
	$(INSTALL_DIR) $(1)/etc/config
	$(INSTALL_CONF) ./files/dnsdist.config $(1)/etc/config/dnsdist
	$(INSTALL_DIR) $(1)/etc/init.d
	$(INSTALL_BIN) ./files/dnsdist.init $(1)/etc/init.d/dnsdist
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/dnsdist $(1)/usr/bin/
endef

$(eval $(call BuildPackage,dnsdist))