diff options
author | Phil Sutter <phil@nwl.cc> | 2010-04-11 23:37:35 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2010-04-12 20:06:21 +0200 |
commit | 21ed9fa0c18c76a05136fb4b9964616b4fea7728 (patch) | |
tree | ad8e4fa4e80157aa358ca4175d20ca5bfcfdabf9 /package/busybox | |
parent | cf46c10bda39030e892589bb2a05289fd698cd2a (diff) |
add proper infrastructure for udhcpd
This is a bit hacky, as it creates a meta-package with no prompt and
boolean value of the busybox internal udhcpd config symbol. It's use is
only to get the required files into the image. I guess there is probably
a more elegant way of doing this.
Diffstat (limited to 'package/busybox')
-rw-r--r-- | package/busybox/Config.in.manual | 3 | ||||
-rw-r--r-- | package/busybox/Makefile | 8 | ||||
-rw-r--r-- | package/busybox/files/udhcpd.conf | 28 | ||||
-rw-r--r-- | package/busybox/files/udhcpd.conffiles | 1 | ||||
-rw-r--r-- | package/busybox/files/udhcpd.init | 28 | ||||
-rw-r--r-- | package/busybox/files/udhcpd.postinst | 3 |
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 400be01e6..5d6826986 100644 --- a/package/busybox/Makefile +++ b/package/busybox/Makefile @@ -12,9 +12,13 @@ PKG_SECTION:= base PKG_URL:= http://www.busybox.net PKG_SITES:= http://www.busybox.net/downloads/ +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 @@ -63,6 +67,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' |