summaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
authorcyrus <cyrus@3c298f89-4303-0410-b956-a3cf2f4a3e73>2014-01-17 13:59:51 +0000
committercyrus <cyrus@3c298f89-4303-0410-b956-a3cf2f4a3e73>2014-01-17 13:59:51 +0000
commit6cdd781641596dbc0b23966157ca20d12ccc2244 (patch)
treefcec9b1e2c6fbbad3da947f3f82172cdc3277046 /package
parentacce962483a6faf1e916718f0811d7e5498d0c22 (diff)
odhcpd: several bugfixes and improved integration
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39308 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-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 c4f76cbd62..9391fc7752 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 20980f2228..e17cd0bfff 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 0000000000..4d360454a9
--- /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