Includes DHCPv6 support. Has received minimal testing. Also available as a branch on github: http://github.com/ChoHag/openwrt-packages
Signed-off-by: Matthew King <[email protected]> -- I must take issue with the term "a mere child", for it has been my invariable experience that the company of a mere child is infinitely preferable to that of a mere adult. -- Fran Lebowitz
diff --git a/net/dhcp/Makefile b/net/dhcp/Makefile index 079e311..4b203ba 100644 --- a/net/dhcp/Makefile +++ b/net/dhcp/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=dhcp -PKG_VERSION:=3.1.0 +PKG_VERSION:=4.1.0p1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=ftp://ftp.isc.org/isc/dhcp/ -PKG_MD5SUM:=27d179a3c3fbef576566b456a1168246 +PKG_MD5SUM:=325ff8338c5a21f89d5304ac13ffebdf include $(INCLUDE_DIR)/package.mk @@ -24,6 +24,11 @@ define Package/dhcp/Default URL:=https://www.isc.org/software/dhcp endef +define Package/dhcp-client + $(call Package/dhcp/Default) + TITLE+= client +endef + define Package/dhcp-relay $(call Package/dhcp/Default) TITLE+= relay @@ -34,29 +39,26 @@ define Package/dhcp-server TITLE+= server endef +CONFIGULE_ARGS += \ + --localstatedir=/var \ + --with-srv-lease-file=/etc/dhcpd.leases \ + --with-srv6-lease-file=/etc/dhcpd6.leases -define Build/Configure - # it's not GNU autoconf stuff - (cd $(PKG_BUILD_DIR) ; \ - UNAME_S=Linux \ - UNAME_M=$(ARCH) \ - UNAME_R=2.6.23 \ - ./configure \ - --copts "$(TARGET_CFLAGS)" \ - ); -endef +CONFIGURE_VARS += ac_cv_file__dev_random=set define Build/Compile - UNAME_S=Linux \ - UNAME_M=$(ARCH) \ - UNAME_R=2.6.23 \ $(MAKE) -C $(PKG_BUILD_DIR) \ - $(TARGET_CONFIGURE_OPTS) \ DESTDIR="$(PKG_INSTALL_DIR)" \ + CFLAGS=-D_GNU_SOURCE \ all install endef +define Package/dhcp-client/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dhclient $(1)/usr/sbin/ +endef + define Package/dhcp-relay/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dhcrelay $(1)/usr/sbin/ @@ -65,13 +67,13 @@ endef define Package/dhcp-server/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_DIR) $(1)/usr/local/lib $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dhcpd $(1)/usr/sbin/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/omshell $(1)/usr/bin/ - $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/local/lib/*.a $(1)/usr/local/lib $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/dhcpd.init $(1)/etc/init.d/dhcpd + $(INSTALL_BIN) ./files/dhcpd6.init $(1)/etc/init.d/dhcpd6 endef +$(eval $(call BuildPackage,dhcp-client)) $(eval $(call BuildPackage,dhcp-relay)) $(eval $(call BuildPackage,dhcp-server)) diff --git a/net/dhcp/files/dhcpd.init b/net/dhcp/files/dhcpd.init index c874552..4fa586a 100644 --- a/net/dhcp/files/dhcpd.init +++ b/net/dhcp/files/dhcpd.init @@ -1,7 +1,7 @@ #!/bin/sh /etc/rc.common START=60 -lease_file=/tmp/dhcpd.leases +lease_file=/etc/dhcpd.leases config_file=/etc/dhcpd.conf pid_file=/var/run/dhcpd.pid @@ -13,7 +13,7 @@ start() { touch $lease_file fi - /usr/sbin/dhcpd -q -cf $config_file -lf $lease_file + /usr/sbin/dhcpd -4 -q -cf $config_file -lf $lease_file if [ $? -ne 0 ]; then echo " isc-dhcpd failed to start" diff --git a/net/dhcp/files/dhcpd6.init b/net/dhcp/files/dhcpd6.init new file mode 100644 index 0000000..c72e18c --- /dev/null +++ b/net/dhcp/files/dhcpd6.init @@ -0,0 +1,37 @@ +#!/bin/sh /etc/rc.common +START=60 + +lease_file=/etc/dhcpd6.leases +config_file=/etc/dhcpd6.conf +pid_file=/var/run/dhcpd6.pid + +start() { + echo Starting isc-dhcpd6 + + if [ ! -e $lease_file ]; then + echo " Creating $lease_file" + touch $lease_file + fi + + /usr/sbin/dhcpd -6 -q -cf $config_file -lf $lease_file + + if [ $? -ne 0 ]; then + echo " isc-dhcpd failed to start" + fi +} + +stop() { + echo "Stopping isc-dhcpd6" + if [ -e $pid_file ]; then + kill `cat $pid_file` + + if [ $? -ne 0 ]; then + echo " PID " `cat $pid_file` not found + echo " Is the DHCPv6 server running?" + fi + + rm $pid_file + else + echo " $pid_file not found" + fi +} diff --git a/net/dhcp/patches/100-portability.patch b/net/dhcp/patches/100-portability.patch deleted file mode 100644 index f768143..0000000 --- a/net/dhcp/patches/100-portability.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- dhcp.old/configure 2007-04-01 17:16:14.000000000 +0200 -+++ dhcp.dev/configure 2007-04-01 17:16:54.000000000 +0200 -@@ -26,8 +26,8 @@ - shift - done - --uname=`uname -s` --machine=`uname -m` -+uname=${UNAME_S:-`uname -s`} -+machine=${UNAME_M:-`uname -m`} - - if [ "$sysname" = "" ]; then - case $uname in -@@ -92,7 +92,7 @@ - fi - fi;; - Linux) -- release=`uname -r` -+ release=${UNAME_R:-`uname -r`} - minor=`echo $release |sed -e 's/[0-9]*\.\([0-9][0-9]*\)\(\..*\)*$/\1/'` - major=`echo $release |sed -e 's/\([0-9][0-9]*\)\..*$/\1/'` - diff --git a/net/dhcp/patches/110-omit-docs.patch b/net/dhcp/patches/110-omit-docs.patch deleted file mode 100644 index be078c0..0000000 --- a/net/dhcp/patches/110-omit-docs.patch +++ /dev/null @@ -1,159 +0,0 @@ -diff -urN dhcp-3.1.0.orig/client/Makefile.dist dhcp-3.1.0/client/Makefile.dist ---- dhcp-3.1.0.orig/client/Makefile.dist 2005-03-17 12:14:55.000000000 -0800 -+++ dhcp-3.1.0/client/Makefile.dist 2008-06-12 01:12:58.000000000 -0700 -@@ -35,7 +35,7 @@ - CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS) \ - -DCLIENT_PATH=${CLIENT_PATH} - --all: $(PROG) $(CATMANPAGES) -+all: $(PROG) - - install: all - for dir in $(CLIENTBINDIR) $(ETC) $(FFMANDIR) $(ADMMANDIR) $(VARDB); \ -@@ -58,14 +58,6 @@ - $(DESTDIR)$(CLIENTBINDIR)/dhclient-script; \ - $(CHMOD) 700 $(DESTDIR)$(CLIENTBINDIR)/dhclient-script; \ - fi -- $(MANINSTALL) $(MANFROM) dhclient.$(MANCAT)8 $(MANTO) \ -- $(DESTDIR)$(ADMMANDIR)/dhclient$(ADMMANEXT) -- $(MANINSTALL) $(MANFROM) dhclient-script.$(MANCAT)8 $(MANTO) \ -- $(DESTDIR)$(ADMMANDIR)/dhclient-script$(ADMMANEXT) -- $(MANINSTALL) $(MANFROM) dhclient.conf.$(MANCAT)5 $(MANTO) \ -- $(DESTDIR)$(FFMANDIR)/dhclient.conf$(FFMANEXT) -- $(MANINSTALL) $(MANFROM) dhclient.leases.$(MANCAT)5 $(MANTO) \ -- $(DESTDIR)$(FFMANDIR)/dhclient.leases$(FFMANEXT) - - depend: - $(MKDEP) $(INCLUDES) $(PREDEFINES) $(SRCS) -diff -urN dhcp-3.1.0.orig/common/Makefile.dist dhcp-3.1.0/common/Makefile.dist ---- dhcp-3.1.0.orig/common/Makefile.dist 2005-03-17 12:14:56.000000000 -0800 -+++ dhcp-3.1.0/common/Makefile.dist 2008-06-12 01:12:58.000000000 -0700 -@@ -35,7 +35,7 @@ - INCLUDES = -I$(TOP) $(BINDINC) -I$(TOP)/includes - CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS) - --all: libdhcp.a $(CATMANPAGES) -+all: libdhcp.a - - libdhcp.a: $(OBJ) - rm -f libdhcp.a -@@ -53,10 +53,6 @@ - fi; \ - done; \ - done -- $(MANINSTALL) $(MANFROM) dhcp-options.$(MANCAT)5 $(MANTO) \ -- $(DESTDIR)$(FFMANDIR)/dhcp-options$(FFMANEXT) -- $(MANINSTALL) $(MANFROM) dhcp-eval.$(MANCAT)5 $(MANTO) \ -- $(DESTDIR)$(FFMANDIR)/dhcp-eval$(FFMANEXT) - - depend: - $(MKDEP) $(INCLUDES) $(PREDEFINES) $(SRC) -diff -urN dhcp-3.1.0.orig/dhcpctl/Makefile.dist dhcp-3.1.0/dhcpctl/Makefile.dist ---- dhcp-3.1.0.orig/dhcpctl/Makefile.dist 2005-03-17 12:15:02.000000000 -0800 -+++ dhcp-3.1.0/dhcpctl/Makefile.dist 2008-06-12 01:13:51.000000000 -0700 -@@ -34,7 +34,7 @@ - DHCPCTLLIBS = libdhcpctl.a ../common/libdhcp.a $(BINDLIB) \ - ../omapip/libomapi.a ../dst/libdst.a - --all: libdhcpctl.a omshell cltest $(CATMANPAGES) -+all: libdhcpctl.a omshell cltest - - omshell: omshell.o $(DHCPCTLLIBS) - $(CC) $(DEBUG) $(LFLAGS) -o omshell omshell.o $(DHCPCTLLIBS) $(LIBS) -@@ -47,7 +47,7 @@ - ar cruv libdhcpctl.a $(OBJ) - $(RANLIB) libdhcpctl.a - --install: all $(CATMANPAGES) -+install: all - for dir in $(LIBDIR) $(LIBMANDIR) $(INCDIR) $(USRMANDIR) \ - $(USERBINDIR); do \ - foo=""; \ -@@ -63,16 +63,8 @@ - $(CHMOD) 644 $(DESTDIR)$(LIBDIR)/libdhcpctl.a - $(INSTALL) dhcpctl.h $(DESTDIR)$(INCDIR) - $(CHMOD) 644 $(DESTDIR)$(INCDIR)/dhcpctl.h -- for man in $(MAN); do \ -- prefix=`echo $$man |sed -e 's/\.[0-9]$$//'`; \ -- suffix=`echo $$man |sed -e 's/.*\.\([0-9]\)$$/\1/'`; \ -- $(MANINSTALL) $(MANFROM) $${prefix}.$(MANCAT)$${suffix} $(MANTO) \ -- $(DESTDIR)$(LIBMANDIR)/$${prefix}$(LIBMANEXT); \ -- done - $(INSTALL) omshell $(DESTDIR)$(USERBINDIR) - $(CHMOD) 755 $(DESTDIR)$(USERBINDIR)/omshell -- $(MANINSTALL) $(MANFROM) omshell.$(MANCAT)1 $(MANTO) \ -- $(DESTDIR)$(USRMANDIR)/omshell$(USRMANEXT) - - depend: - $(MKDEP) $(INCLUDES) $(PREDEFINES) $(SRC) -diff -urN dhcp-3.1.0.orig/omapip/Makefile.dist dhcp-3.1.0/omapip/Makefile.dist ---- dhcp-3.1.0.orig/omapip/Makefile.dist 2005-03-17 12:15:20.000000000 -0800 -+++ dhcp-3.1.0/omapip/Makefile.dist 2008-06-12 01:12:58.000000000 -0700 -@@ -40,7 +40,7 @@ - INCLUDES = $(BINDINC) -I$(TOP)/includes - CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS) - --all: libomapi.a svtest $(CATMANPAGES) -+all: libomapi.a svtest - - svtest: test.o libomapi.a $(BINDLIB) ../dst/libdst.a - $(CC) $(DEBUG) $(LFLAGS) -o svtest test.o $(BINDLIB) \ -@@ -75,12 +75,6 @@ - $(DESTDIR)$(INCDIR)/isc-dhcp; \ - $(CHMOD) 644 $(DESTDIR)$(INCDIR)/isc-dhcp/$$file; \ - done -- for man in $(MAN); do \ -- prefix=`echo $$man |sed -e 's/\.[0-9]$$//'`; \ -- suffix=`echo $$man |sed -e 's/.*\.\([0-9]\)$$/\1/'`; \ -- $(MANINSTALL) $(MANFROM) $${prefix}.$(MANCAT)$${suffix} $(MANTO) \ -- $(DESTDIR)$(LIBMANDIR)/$${prefix}$(LIBMANEXT); \ -- done - - depend: - $(MKDEP) $(INCLUDES) $(PREDEFINES) $(SRC) -diff -urN dhcp-3.1.0.orig/relay/Makefile.dist dhcp-3.1.0/relay/Makefile.dist ---- dhcp-3.1.0.orig/relay/Makefile.dist 2005-03-17 12:15:24.000000000 -0800 -+++ dhcp-3.1.0/relay/Makefile.dist 2008-06-12 01:12:58.000000000 -0700 -@@ -33,7 +33,7 @@ - DHCPLIB = ../common/libdhcp.a $(BINDLIB) ../omapip/libomapi.a ../dst/libdst.a - CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS) - --all: $(PROG) $(CATMANPAGES) -+all: $(PROG) - - install: all - for dir in $(BINDIR) $(ADMMANDIR); do \ -@@ -48,8 +48,6 @@ - done - $(INSTALL) dhcrelay $(DESTDIR)$(BINDIR) - $(CHMOD) 755 $(DESTDIR)$(BINDIR)/dhcrelay -- $(MANINSTALL) $(MANFROM) dhcrelay.$(MANCAT)8 $(MANTO) \ -- $(DESTDIR)$(ADMMANDIR)/dhcrelay$(ADMMANEXT) - - depend: - $(MKDEP) $(INCLUDES) $(PREDEFINES) $(SRCS) -diff -urN dhcp-3.1.0.orig/server/Makefile.dist dhcp-3.1.0/server/Makefile.dist ---- dhcp-3.1.0.orig/server/Makefile.dist 2006-07-25 06:26:00.000000000 -0700 -+++ dhcp-3.1.0/server/Makefile.dist 2008-06-12 01:12:58.000000000 -0700 -@@ -35,7 +35,7 @@ - DHCPLIB = ../common/libdhcp.a $(BINDLIB) ../omapip/libomapi.a ../dst/libdst.a - CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS) - --all: $(PROG) $(CATMANPAGES) -+all: $(PROG) - - install: all - for dir in $(BINDIR) $(ADMMANDIR) $(FFMANDIR) $(VARDB); do \ -@@ -50,12 +50,6 @@ - done - $(INSTALL) dhcpd $(DESTDIR)$(BINDIR) - $(CHMOD) 755 $(DESTDIR)$(BINDIR)/dhcpd -- $(MANINSTALL) $(MANFROM) dhcpd.$(MANCAT)8 $(MANTO) \ -- $(DESTDIR)$(ADMMANDIR)/dhcpd$(ADMMANEXT) -- $(MANINSTALL) $(MANFROM) dhcpd.conf.$(MANCAT)5 $(MANTO) \ -- $(DESTDIR)$(FFMANDIR)/dhcpd.conf$(FFMANEXT) -- $(MANINSTALL) $(MANFROM) dhcpd.leases.$(MANCAT)5 $(MANTO) \ -- $(DESTDIR)$(FFMANDIR)/dhcpd.leases$(FFMANEXT) - $(TOUCH) $(DESTDIR)$(VARDB)/dhcpd.leases - # Note file mode is hardcoded to mode 0664 in server/db.c (889). - $(CHMOD) 664 $(DESTDIR)$(VARDB)/dhcpd.leases
_______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
