commit 77cc87572420fe7afdde4267d26f0e4218887e69
parent 3339a690a0ea68d67b7a349d11837469312c3d66
Author: Vasilis Tsiligiannis <acinonyx@openwrt.gr>
Date: Mon, 14 Jul 2014 12:12:18 +0300
nsd: Add new package
Signed-off-by: Vasilis Tsiligiannis <acinonyx@openwrt.gr>
Diffstat:
2 files changed, 150 insertions(+), 0 deletions(-)
diff --git a/net/nsd/Makefile b/net/nsd/Makefile
@@ -0,0 +1,134 @@
+#
+# Copyright (C) 2014 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=nsd
+PKG_VERSION:=4.0.3
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://www.nlnetlabs.nl/downloads/nsd
+PKG_MD5SUM:=9331dd18478295206775433a0b23e490
+PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
+
+PKG_LICENSE:=BSD-3c
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_MAINTAINER:=Vasilis Tsiligiannis <acinonyx@openwrt.gr>
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/nsd/default
+ TITLE:=NSD Name Server Daemon
+ URL:=http://www.nlnetlabs.nl/projects/nsd/
+ SECTION:=net
+ CATEGORY:=Network
+ SUBMENU:=IP Addresses and Names
+ DEPENDS:=+libevent2
+endef
+
+define Package/nsd/default/description
+ NSD is an authoritative only, high performance, simple and open source name
+ server.
+endef
+
+define Package/nsd
+ $(Package/nsd/default)
+ TITLE += (with SSL support)
+ DEPENDS += +libopenssl
+ VARIANT:=ssl
+endef
+
+define Package/nsd/description
+ $(Package/nsd/default/description)
+endef
+
+define Package/nsd-nossl
+ $(Package/nsd/default)
+ TITLE += (without SSL support)
+ VARIANT:=nossl
+endef
+
+define Package/nsd-nossl/description
+ $(Package/nsd/default/description)
+endef
+
+define Package/nsd-checkconf/description
+ $(Package/nsd/default/description)
+endef
+
+define Package/nsd-control
+ $(Package/nsd/default)
+ TITLE += remote control utility
+ DEPENDS += +libopenssl
+endef
+
+define Package/nsd-control/description
+ $(Package/nsd/default/description)
+endef
+
+define Package/nsd-control-setup
+ $(Package/nsd/default)
+ TITLE += SSL keys setup script
+ DEPENDS += +openssl-util
+endef
+
+define Package/nsd-control-setup/description
+ $(Package/nsd/default/description)
+endef
+
+CONFIGURE_ARGS+= \
+ --disable-checking \
+ --with-libevent="$(STAGING_DIR)/usr" \
+ --with-user="network" \
+
+CONFIGURE_VARS+= \
+ ac_cv_c_va_list_def=no \
+ ac_cv_c_strptime_needs_defs=no \
+
+ifeq ($(BUILD_VARIANT),ssl)
+ CONFIGURE_ARGS += \
+ --with-ssl="$(STAGING_DIR)/usr"
+endif
+
+ifeq ($(BUILD_VARIANT),nossl)
+ CONFIGURE_ARGS += \
+ --without-ssl
+endif
+
+define Package/nsd/conffiles
+/etc/nsd/
+endef
+
+define Package/nsd/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/{nsd,nsd-checkconf} $(1)/usr/sbin/
+ $(INSTALL_DIR) $(1)/etc/nsd
+ $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/nsd/nsd.conf.sample $(1)/etc/nsd/nsd.conf
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/nsd.init $(1)/etc/init.d/nsd
+endef
+
+define Package/nsd-control/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/nsd-control $(1)/usr/sbin/
+endef
+
+define Package/nsd-control-setup/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/nsd-control-setup $(1)/usr/sbin/
+endef
+
+Package/nsd-nossl/install = $(Package/nsd/install)
+Package/nsd-nossl/conffiles = $(Package/nsd/conffiles)
+
+$(eval $(call BuildPackage,nsd))
+$(eval $(call BuildPackage,nsd-nossl))
+$(eval $(call BuildPackage,nsd-control))
+$(eval $(call BuildPackage,nsd-control-setup))
diff --git a/net/nsd/files/nsd.init b/net/nsd/files/nsd.init
@@ -0,0 +1,16 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2014 OpenWrt.org
+
+START=60
+USE_PROCD=1
+PROG=/usr/sbin/nsd
+
+start_service() {
+ mkdir -p /var/db/nsd
+ chown network /var/db/nsd
+ chmod 640 /etc/nsd/*.conf 2>/dev/null
+ chgrp network /etc/nsd/*.conf 2>/dev/null
+ procd_open_instance
+ procd_set_param command "$PROG" -d
+ procd_close_instance
+}