odhcpd: add new experimental dhcp-server
authorcyrus <cyrus@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 16 Oct 2013 09:03:55 +0000 (09:03 +0000)
committercyrus <cyrus@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 16 Oct 2013 09:03:55 +0000 (09:03 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38428 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/network/services/odhcpd/Makefile [new file with mode: 0644]
package/network/services/odhcpd/files/odhcpd-update [new file with mode: 0755]
package/network/services/odhcpd/files/odhcpd.init [new file with mode: 0644]

diff --git a/package/network/services/odhcpd/Makefile b/package/network/services/odhcpd/Makefile
new file mode 100644 (file)
index 0000000..e1a8dfd
--- /dev/null
@@ -0,0 +1,50 @@
+#
+# Copyright (C) 2013 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:=odhcpd
+PKG_VERSION:=2013-10-16
+PKG_RELEASE=$(PKG_SOURCE_VERSION)
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_URL:=git://github.com/sbyx/odhcpd.git
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_VERSION:=05969d06380387fc6d093e80b142145c2a9c2293
+
+PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/odhcpd
+  SECTION:=net
+  CATEGORY:=Network
+  TITLE:=OpenWrt DHCP/DHCPv6(-PD)/RA Server & Relay
+  DEPENDS:=+libubox +libuci +libubus
+endef
+
+define Package/odhcpd/description
+ odhcpd is a daemon for serving and relaying IP management protocols to
+ configure clients and downstream routers. It tries to follow the RFC 6204
+ requirements for IPv6 home routers.
+ odhcpd provides server services for DHCP, RA, stateless and stateful DHCPv6,
+ prefix delegation and can be used to relay RA, DHCPv6 and NDP between routed
+ (non-bridged) interfaces in case no delegated prefixes are available.
+endef
+
+define Package/odhcpd/install
+       $(INSTALL_DIR) $(1)/usr/sbin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/odhcpd $(1)/usr/sbin/
+       $(INSTALL_BIN) ./files/odhcpd-update $(1)/usr/sbin/
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/odhcpd.init $(1)/etc/init.d/odhcpd
+endef
+
+$(eval $(call BuildPackage,odhcpd))
diff --git a/package/network/services/odhcpd/files/odhcpd-update b/package/network/services/odhcpd/files/odhcpd-update
new file mode 100755 (executable)
index 0000000..20980f2
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+# Make dnsmasq reread hostfile
+killall -SIGHUP dnsmasq
diff --git a/package/network/services/odhcpd/files/odhcpd.init b/package/network/services/odhcpd/files/odhcpd.init
new file mode 100644 (file)
index 0000000..c8a3114
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/sh /etc/rc.common
+
+START=35
+STOP=85
+USE_PROCD=1
+
+start_service() {
+       procd_open_instance
+       procd_set_param command /usr/sbin/odhcpd
+       procd_set_param respawn
+       procd_close_instance
+}
+
+service_triggers()
+{
+       procd_add_reload_trigger "dhcp"
+}
+