Browse Source

nsd: Add new package

Signed-off-by: Vasilis Tsiligiannis <acinonyx@openwrt.gr>
Vasilis Tsiligiannis 10 years ago
parent
commit
77cc875724
2 changed files with 150 additions and 0 deletions
  1. 134
    0
      net/nsd/Makefile
  2. 16
    0
      net/nsd/files/nsd.init

+ 134
- 0
net/nsd/Makefile View File

@@ -0,0 +1,134 @@
1
+#
2
+# Copyright (C) 2014 OpenWrt.org
3
+#
4
+# This is free software, licensed under the GNU General Public License v2.
5
+# See /LICENSE for more information.
6
+#
7
+
8
+include $(TOPDIR)/rules.mk
9
+
10
+PKG_NAME:=nsd
11
+PKG_VERSION:=4.0.3
12
+PKG_RELEASE:=1
13
+
14
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15
+PKG_SOURCE_URL:=http://www.nlnetlabs.nl/downloads/nsd
16
+PKG_MD5SUM:=9331dd18478295206775433a0b23e490
17
+PKG_FIXUP:=autoreconf
18
+PKG_INSTALL:=1
19
+
20
+PKG_LICENSE:=BSD-3c
21
+PKG_LICENSE_FILES:=LICENSE
22
+
23
+PKG_MAINTAINER:=Vasilis Tsiligiannis <acinonyx@openwrt.gr>
24
+
25
+include $(INCLUDE_DIR)/package.mk
26
+
27
+define Package/nsd/default
28
+  TITLE:=NSD Name Server Daemon
29
+  URL:=http://www.nlnetlabs.nl/projects/nsd/
30
+  SECTION:=net
31
+  CATEGORY:=Network
32
+  SUBMENU:=IP Addresses and Names
33
+  DEPENDS:=+libevent2
34
+endef
35
+
36
+define Package/nsd/default/description
37
+  NSD is an authoritative only, high performance, simple and open source name
38
+  server.
39
+endef
40
+
41
+define Package/nsd
42
+  $(Package/nsd/default)
43
+  TITLE += (with SSL support)
44
+  DEPENDS += +libopenssl
45
+  VARIANT:=ssl
46
+endef
47
+
48
+define Package/nsd/description
49
+  $(Package/nsd/default/description)
50
+endef
51
+
52
+define Package/nsd-nossl
53
+  $(Package/nsd/default)
54
+  TITLE += (without SSL support)
55
+  VARIANT:=nossl
56
+endef
57
+
58
+define Package/nsd-nossl/description
59
+  $(Package/nsd/default/description)
60
+endef
61
+
62
+define Package/nsd-checkconf/description
63
+  $(Package/nsd/default/description)
64
+endef
65
+
66
+define Package/nsd-control
67
+  $(Package/nsd/default)
68
+  TITLE += remote control utility
69
+  DEPENDS += +libopenssl
70
+endef
71
+
72
+define Package/nsd-control/description
73
+  $(Package/nsd/default/description)
74
+endef
75
+
76
+define Package/nsd-control-setup
77
+  $(Package/nsd/default)
78
+  TITLE += SSL keys setup script
79
+  DEPENDS += +openssl-util
80
+endef
81
+
82
+define Package/nsd-control-setup/description
83
+  $(Package/nsd/default/description)
84
+endef
85
+
86
+CONFIGURE_ARGS+= \
87
+	--disable-checking \
88
+	--with-libevent="$(STAGING_DIR)/usr" \
89
+	--with-user="network" \
90
+
91
+CONFIGURE_VARS+= \
92
+	ac_cv_c_va_list_def=no \
93
+	ac_cv_c_strptime_needs_defs=no \
94
+
95
+ifeq ($(BUILD_VARIANT),ssl)
96
+	CONFIGURE_ARGS += \
97
+		--with-ssl="$(STAGING_DIR)/usr"
98
+endif
99
+
100
+ifeq ($(BUILD_VARIANT),nossl)
101
+	CONFIGURE_ARGS += \
102
+		--without-ssl
103
+endif
104
+
105
+define Package/nsd/conffiles
106
+/etc/nsd/
107
+endef
108
+
109
+define Package/nsd/install
110
+	$(INSTALL_DIR) $(1)/usr/sbin
111
+	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/{nsd,nsd-checkconf} $(1)/usr/sbin/
112
+	$(INSTALL_DIR) $(1)/etc/nsd
113
+	$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/nsd/nsd.conf.sample $(1)/etc/nsd/nsd.conf
114
+	$(INSTALL_DIR) $(1)/etc/init.d
115
+	$(INSTALL_BIN) ./files/nsd.init $(1)/etc/init.d/nsd
116
+endef
117
+
118
+define Package/nsd-control/install
119
+	$(INSTALL_DIR) $(1)/usr/sbin
120
+	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/nsd-control $(1)/usr/sbin/
121
+endef
122
+
123
+define Package/nsd-control-setup/install
124
+	$(INSTALL_DIR) $(1)/usr/sbin
125
+	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/nsd-control-setup $(1)/usr/sbin/
126
+endef
127
+
128
+Package/nsd-nossl/install = $(Package/nsd/install)
129
+Package/nsd-nossl/conffiles = $(Package/nsd/conffiles)
130
+
131
+$(eval $(call BuildPackage,nsd))
132
+$(eval $(call BuildPackage,nsd-nossl))
133
+$(eval $(call BuildPackage,nsd-control))
134
+$(eval $(call BuildPackage,nsd-control-setup))

+ 16
- 0
net/nsd/files/nsd.init View File

@@ -0,0 +1,16 @@
1
+#!/bin/sh /etc/rc.common
2
+# Copyright (C) 2014 OpenWrt.org
3
+
4
+START=60
5
+USE_PROCD=1
6
+PROG=/usr/sbin/nsd
7
+
8
+start_service() {
9
+	mkdir -p /var/db/nsd
10
+	chown network /var/db/nsd
11
+	chmod 640 /etc/nsd/*.conf 2>/dev/null
12
+	chgrp network /etc/nsd/*.conf 2>/dev/null
13
+	procd_open_instance
14
+	procd_set_param command "$PROG" -d
15
+	procd_close_instance
16
+}