summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Barth <cyrus@openwrt.org>2014-01-17 13:59:51 +0000
committerSteven Barth <cyrus@openwrt.org>2014-01-17 13:59:51 +0000
commit684537f3e7eff48bb0e56a73220746e28678e1d7 (patch)
tree91ab3fa815a2556042456ba323ba8570d35631c9
parenta5ee266cd9f4f7909aa7df0bff2e96a0e9199611 (diff)
downloadmtk-20170518-684537f3e7eff48bb0e56a73220746e28678e1d7.zip
mtk-20170518-684537f3e7eff48bb0e56a73220746e28678e1d7.tar.gz
mtk-20170518-684537f3e7eff48bb0e56a73220746e28678e1d7.tar.bz2
odhcpd: several bugfixes and improved integration
SVN-Revision: 39308
-rw-r--r--package/network/services/odhcpd/Makefile7
-rwxr-xr-xpackage/network/services/odhcpd/files/odhcpd-update4
-rw-r--r--package/network/services/odhcpd/files/odhcpd.defaults19
3 files changed, 27 insertions, 3 deletions
diff --git a/package/network/services/odhcpd/Makefile b/package/network/services/odhcpd/Makefile
index c4f76cb..9391fc7 100644
--- a/package/network/services/odhcpd/Makefile
+++ b/package/network/services/odhcpd/Makefile
@@ -8,20 +8,21 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=odhcpd
-PKG_VERSION:=2013-12-04
+PKG_VERSION:=2014-01-17
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:=d2e8dc035bbbe8f29533817b892ddd41350b87f8
+PKG_SOURCE_VERSION:=0a41d480c058b68fe09ac7de044c561dee955233
PKG_MAINTAINER:=Steven Barth <steven@midlink.org>
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
+CMAKE_OPTIONS += -DUBUS=1
ifneq ($(CONFIG_PACKAGE_odhcpd_ext_prefix_class),0)
CMAKE_OPTIONS += -DEXT_PREFIX_CLASS=$(CONFIG_PACKAGE_odhcpd_ext_prefix_class)
endif
@@ -56,6 +57,8 @@ define Package/odhcpd/install
$(INSTALL_BIN) ./files/odhcpd-update $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/odhcpd.init $(1)/etc/init.d/odhcpd
+ $(INSTALL_DIR) $(1)/etc/uci-defaults
+ $(INSTALL_BIN) ./files/odhcpd.defaults $(1)/etc/uci-defaults
endef
$(eval $(call BuildPackage,odhcpd))
diff --git a/package/network/services/odhcpd/files/odhcpd-update b/package/network/services/odhcpd/files/odhcpd-update
index 20980f2..e17cd0b 100755
--- a/package/network/services/odhcpd/files/odhcpd-update
+++ b/package/network/services/odhcpd/files/odhcpd-update
@@ -1,3 +1,5 @@
#!/bin/sh
# Make dnsmasq reread hostfile
-killall -SIGHUP dnsmasq
+
+pid=$(pidof dnsmasq)
+[ "$(readlink /proc/$pid/exe)" = "/usr/sbin/dnsmasq" ] && kill -SIGHUP $pid
diff --git a/package/network/services/odhcpd/files/odhcpd.defaults b/package/network/services/odhcpd/files/odhcpd.defaults
new file mode 100644
index 0000000..4d36045
--- /dev/null
+++ b/package/network/services/odhcpd/files/odhcpd.defaults
@@ -0,0 +1,19 @@
+#!/bin/sh
+uci -q get dhcp.odhcpd && exit 0
+touch /etc/config/dhcp
+
+uci batch <<EOF
+set dhcp.odhcpd=odhcpd
+set dhcp.odhcpd.maindhcp=0
+set dhcp.odhcpd.leasefile=/tmp/hosts/odhcpd
+set dhcp.odhcpd.leasetrigger=/usr/sbin/odhcpd-update
+set dhcp.lan.dhcpv6=hybrid
+set dhcp.lan.ra=hybrid
+set dhcp.lan.ndp=hybrid
+set dhcp.wan6=dhcp
+set dhcp.wan6.dhcpv6=hybrid
+set dhcp.wan6.ra=hybrid
+set dhcp.wan6.ndp=hybrid
+set dhcp.wan6.master=1
+commit dhcp
+EOF