summaryrefslogtreecommitdiff
path: root/package/busybox
diff options
context:
space:
mode:
Diffstat (limited to 'package/busybox')
-rw-r--r--package/busybox/Config.in.manual3
-rw-r--r--package/busybox/Makefile8
-rw-r--r--package/busybox/files/udhcpd.conf28
-rw-r--r--package/busybox/files/udhcpd.conffiles1
-rw-r--r--package/busybox/files/udhcpd.init28
-rw-r--r--package/busybox/files/udhcpd.postinst3
6 files changed, 71 insertions, 0 deletions
diff --git a/package/busybox/Config.in.manual b/package/busybox/Config.in.manual
index 84c1bde40..4e7251520 100644
--- a/package/busybox/Config.in.manual
+++ b/package/busybox/Config.in.manual
@@ -17,3 +17,6 @@ menu "Busybox Configuration"
source "package/busybox/config/Config.in"
endmenu
+config ADK_PACKAGE_UDHCPD
+ boolean
+ default BUSYBOX_APP_UDHCPD
diff --git a/package/busybox/Makefile b/package/busybox/Makefile
index fa2dad9c6..2f1d9369f 100644
--- a/package/busybox/Makefile
+++ b/package/busybox/Makefile
@@ -14,9 +14,13 @@ PKG_SITES:= http://www.busybox.net/downloads/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
+PKG_DESCR_UDHCPD:= uDHCPD meta package
+PKG_SECTION_UDHCPD:= net
+
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,BUSYBOX,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,UDHCPD,udhcpd,${PKG_VERSION}-${PKG_RELEASE},busybox,${PKG_DESCR_UDHCPD},${PKG_SECTION_UDHCPD}))
CONFIG_STYLE:= manual
BUILD_STYLE:= manual
@@ -65,6 +69,10 @@ ifeq ($(ADK_DEBUG),y)
${INSTALL_BIN} $(WRKBUILD)/busybox_unstripped \
$(IDIR_BUSYBOX)/bin/busybox
endif
+ifeq ($(ADK_PACKAGE_UDHCPD),y)
+ ${INSTALL_DIR} ${IDIR_UDHCPD}/etc/
+ ${INSTALL_DATA} ./files/udhcpd.conf ${IDIR_UDHCPD}/etc/
+endif
fake: $(TOPDIR)/.busyboxcfg do-configure do-install
diff --git a/package/busybox/files/udhcpd.conf b/package/busybox/files/udhcpd.conf
new file mode 100644
index 000000000..6c8104dfa
--- /dev/null
+++ b/package/busybox/files/udhcpd.conf
@@ -0,0 +1,28 @@
+# interface to bind to
+interface eth0
+
+# iprange to choose from
+start 192.168.1.100
+end 192.168.1.200
+
+# max number of leases
+#max_leases 100
+
+# period of auto lease file updates (in seconds)
+auto_time 7200
+
+# some timeouts
+#decline_time 3600
+#conflict_time 3600
+#offer_time 60
+#min_lease 60
+
+# do not change the path here
+leases_file /var/udhcpd.leases
+
+# call this script upon lease file write
+# (dumpleases may be useful for debugging)
+#notify_file dumpleases
+
+# static leases
+#static_lease 00:fe:ed:ba:be:00 192.168.1.2
diff --git a/package/busybox/files/udhcpd.conffiles b/package/busybox/files/udhcpd.conffiles
new file mode 100644
index 000000000..c0b2aeea6
--- /dev/null
+++ b/package/busybox/files/udhcpd.conffiles
@@ -0,0 +1 @@
+/etc/udhcpd.conf
diff --git a/package/busybox/files/udhcpd.init b/package/busybox/files/udhcpd.init
new file mode 100644
index 000000000..d9627aa9d
--- /dev/null
+++ b/package/busybox/files/udhcpd.init
@@ -0,0 +1,28 @@
+#!/bin/sh
+#PKG udhcpd
+#INIT 50
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+autostart)
+ [[ $udhcpd = NO ]] && exit 0
+ exec sh $0 start
+ ;;
+start)
+ touch /var/udhcp.leases
+ udhcpd -S
+ ;;
+stop)
+ pkill udhcpd
+ ;;
+restart)
+ sh $0 stop
+ sh $0 start
+ ;;
+*)
+ echo "Usage: $0 {start | stop | restart}"
+ exit 1
+ ;;
+esac
+exit $?
diff --git a/package/busybox/files/udhcpd.postinst b/package/busybox/files/udhcpd.postinst
new file mode 100644
index 000000000..f90718c58
--- /dev/null
+++ b/package/busybox/files/udhcpd.postinst
@@ -0,0 +1,3 @@
+#!/bin/sh
+. $IPKG_INSTROOT/etc/functions.sh
+add_rcconf udhcpd udhcpd 'NO'