Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 May 2000 03:36:15 +0200 (CEST)
From:      clefevre@citeweb.net
To:        FreeBSD-gnats-submit@freebsd.org
Cc:        jseger@freebsd.org
Subject:   ports/18475: New port - net/isc-dhcp3
Message-ID:  <200005100136.DAA35117@gits.dyndns.org>

next in thread | raw e-mail | index | archive | help

>Number:         18475
>Category:       ports
>Synopsis:       New port - net/isc-dhcp3
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue May 09 18:40:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Cyrille Lefevre
>Release:        FreeBSD 4.0-STABLE i386
>Organization:
ACME
>Environment:

FreeBSD gits 4.0-STABLE FreeBSD 4.0-STABLE #15: Tue May  9 00:32:14 CEST 2000     root@gits:/disk2/4.0-STABLE/src/sys/compile/CUSTOM  i386

>Description:

	update ISC dhcp to the latest version, which is 3.0b1pl13.

	DESCR file updated + WWW reference.

	patch-aa : site.conf
		all references are located in the /usr/local tree.

	patch-ab..ae : */Makefile.dist
		DEBUG disabled (?=), CFLAGS augmented (+=).

	patch-af : client/clparse.c
		use CL_DEFAULT_SCRIPT_NAME instead of the hard coded
		"/etc/dhclient-script".

	patch-ag..ah : client/dhclient.c client/dhclient.8
		add support to -1 option as the builtin dhclient does.

	patch-ai : client/scripts/freebsd
		dhclient-script updated accordingly to the builtin dhclient.

	PS : I don't send these patches to ISC, bcoz I don't find to where
	     or to whom to send them !

>How-To-Repeat:

	n/a

>Fix:

	install this shell archive in the ports tree

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	isc-dhcp3
#	isc-dhcp3/Makefile
#	isc-dhcp3/files
#	isc-dhcp3/files/md5
#	isc-dhcp3/patches
#	isc-dhcp3/patches/patch-aa
#	isc-dhcp3/patches/patch-ab
#	isc-dhcp3/patches/patch-ac
#	isc-dhcp3/patches/patch-ad
#	isc-dhcp3/patches/patch-ae
#	isc-dhcp3/patches/patch-af
#	isc-dhcp3/patches/patch-ag
#	isc-dhcp3/patches/patch-ai
#	isc-dhcp3/patches/patch-ah
#	isc-dhcp3/pkg
#	isc-dhcp3/pkg/COMMENT
#	isc-dhcp3/pkg/DESCR
#	isc-dhcp3/pkg/PLIST
#
echo c - isc-dhcp3
mkdir -p isc-dhcp3 > /dev/null 2>&1
echo x - isc-dhcp3/Makefile
sed 's/^X//' >isc-dhcp3/Makefile << 'END-of-isc-dhcp3/Makefile'
X# Ports collection makefile for:    dhcp
X# Date created:         May  9 2000
X# Whom:                 clefevre@citeweb.net
X#
X# $FreeBSD$
X#
X
XPORTNAME=	isc-dhcp
XPORTVERSION=	3.0b1pl13
XCATEGORIES=	net
XMASTER_SITES=   ftp://ftp.isc.org/isc/dhcp/
XDISTNAME=	dhcp-${PORTVERSION}
X
XMAINTAINER=	jseger@FreeBSD.org
X
XY2K=		http://www.isc.org/y2k.html
X
XHAS_CONFIGURE=	yes
X
XMAN5=		dhclient.conf.5 dhclient.leases.5 dhcp-options.5 dhcpd.conf.5 \
X		dhcpd.leases.5
XMAN8=		dhclient.8 dhclient-script.8 dhcpd.8 dhcrelay.8
X
Xpost-install:
X	${TOUCH} /var/db/dhcpd.leases
X.for file in dhclient dhcpd dhcrelay
X	if [ -f ${PREFIX}/sbin/${file} ]; then \
X		strip ${PREFIX}/sbin/${file}; \
X	fi
X.endfor
X
X.include <bsd.port.mk>
END-of-isc-dhcp3/Makefile
echo c - isc-dhcp3/files
mkdir -p isc-dhcp3/files > /dev/null 2>&1
echo x - isc-dhcp3/files/md5
sed 's/^X//' >isc-dhcp3/files/md5 << 'END-of-isc-dhcp3/files/md5'
XMD5 (dhcp-3.0b1pl13.tar.gz) = faf269bd5aba70eefe29345ddb905eee
END-of-isc-dhcp3/files/md5
echo c - isc-dhcp3/patches
mkdir -p isc-dhcp3/patches > /dev/null 2>&1
echo x - isc-dhcp3/patches/patch-aa
sed 's/^X//' >isc-dhcp3/patches/patch-aa << 'END-of-isc-dhcp3/patches/patch-aa'
X--- site.conf	Wed Jul  7 17:20:10 1999
X+++ site.conf	Tue May  9 21:23:20 2000
X@@ -1,2 +1,21 @@
X # Put local site configuration stuff here to override the default
X # settings in Makefile.conf
X+
X+PREFIX ?=	/usr/local
X+
X+BINDIR =	$(PREFIX)/sbin
X+CLIENTBINDIR =	$(PREFIX)/sbin
X+ADMMANDIR =	$(PREFIX)/man/man8
X+ADMMANEXT =	.8
X+FFMANDIR =	$(PREFIX)/man/man5
X+FFMANEXT =	.5
X+MANCAT =	man
X+ETC =		$(PREFIX)/etc
X+
X+BINDLIBDEF = -L$(PREFIX)/lib -lbind
X+BINDINCDEF = -I$(PREFIX)/include/bind
X+
X+DEBUG ?=	
X+CFLAGS +=	-DCL_DEFAULT_SCRIPT_NAME=\"$(ETC)/dhclient-script\"
X+CFLAGS +=	-D_PATH_DHCPD_CONF=\"$(ETC)/dhcpd.conf\"
X+CFLAGS +=	-D_PATH_DHCLIENT_CONF=\"$(ETC)/dhclient.conf\"
END-of-isc-dhcp3/patches/patch-aa
echo x - isc-dhcp3/patches/patch-ab
sed 's/^X//' >isc-dhcp3/patches/patch-ab << 'END-of-isc-dhcp3/patches/patch-ab'
X--- client/Makefile.dist.orig	Thu Jul  1 20:38:17 1999
X+++ client/Makefile.dist	Tue May  9 21:07:10 2000
X@@ -26,10 +26,10 @@
X PROG   = dhclient
X MAN    = dhclient.8 dhclient.conf.5 dhclient-script.8 dhclient.leases.5
X 
X-DEBUG  = -g
X+DEBUG  ?= -g
X INCLUDES = -I.. $(BINDINC) -I../includes
X DHCPLIB = ../common/libdhcp.a
X-CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS)
X+CFLAGS += $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS)
X 
X all:	$(PROG) $(CATMANPAGES)
X 
END-of-isc-dhcp3/patches/patch-ab
echo x - isc-dhcp3/patches/patch-ac
sed 's/^X//' >isc-dhcp3/patches/patch-ac << 'END-of-isc-dhcp3/patches/patch-ac'
X--- common/Makefile.dist.orig	Thu Oct 14 22:38:23 1999
X+++ common/Makefile.dist	Tue May  9 21:07:17 2000
X@@ -29,9 +29,9 @@
X 	 inet_addr.o dns.o resolv.o execute.o discover.o auth.o nsupdate.o
X MAN    = dhcp-options.5 dhcp-contrib.5 dhcp-eval.5
X 
X-DEBUG  = -g
X+DEBUG  ?= -g
X INCLUDES = -I.. $(BINDINC) -I../includes
X-CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS)
X+CFLAGS += $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS)
X 
X all:	libdhcp.a $(CATMANPAGES)
X 
END-of-isc-dhcp3/patches/patch-ac
echo x - isc-dhcp3/patches/patch-ad
sed 's/^X//' >isc-dhcp3/patches/patch-ad << 'END-of-isc-dhcp3/patches/patch-ad'
X--- relay/Makefile.dist.orig	Thu Jul  1 21:29:20 1999
X+++ relay/Makefile.dist	Tue May  9 21:07:24 2000
X@@ -24,10 +24,10 @@
X PROG   = dhcrelay
X MAN    = dhcrelay.8
X 
X-DEBUG  = -g
X+DEBUG  ?= -g
X INCLUDES = -I.. $(BINDINC) -I../includes
X DHCPLIB = ../common/libdhcp.a
X-CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS)
X+CFLAGS += $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS)
X 
X all:	$(PROG) $(CATMANPAGES)
X 
END-of-isc-dhcp3/patches/patch-ad
echo x - isc-dhcp3/patches/patch-ae
sed 's/^X//' >isc-dhcp3/patches/patch-ae << 'END-of-isc-dhcp3/patches/patch-ae'
X--- server/Makefile.dist.orig	Thu Jul  1 20:21:36 1999
X+++ server/Makefile.dist	Tue May  9 21:07:30 2000
X@@ -24,10 +24,10 @@
X PROG   = dhcpd
X MAN    = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
X 
X-DEBUG  = -g
X+DEBUG  ?= -g
X INCLUDES = -I.. $(BINDINC) -I../includes
X DHCPLIB = ../common/libdhcp.a
X-CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS)
X+CFLAGS += $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS)
X 
X all:	$(PROG) $(CATMANPAGES)
X 
END-of-isc-dhcp3/patches/patch-ae
echo x - isc-dhcp3/patches/patch-af
sed 's/^X//' >isc-dhcp3/patches/patch-af << 'END-of-isc-dhcp3/patches/patch-af'
X--- client/clparse.c.orig	Wed May 10 02:20:11 2000
X+++ client/clparse.c	Wed May 10 02:20:31 2000
X@@ -74,7 +74,7 @@
X 	top_level_config.backoff_cutoff = 15;
X 	top_level_config.initial_interval = 3;
X 	top_level_config.bootp_policy = P_ACCEPT;
X-	top_level_config.script_name = "/etc/dhclient-script";
X+	top_level_config.script_name = CL_DEFAULT_SCRIPT_NAME;
X 	top_level_config.requested_options = default_requested_options;
X 
X 	top_level_config.on_receipt = new_group ("read_client_conf");
END-of-isc-dhcp3/patches/patch-af
echo x - isc-dhcp3/patches/patch-ag
sed 's/^X//' >isc-dhcp3/patches/patch-ag << 'END-of-isc-dhcp3/patches/patch-ag'
X--- client/dhclient.c.orig	Wed May 10 02:34:28 2000
X+++ client/dhclient.c	Wed May 10 02:34:49 2000
X@@ -64,6 +64,7 @@
X int log_priority;
X int no_daemon;
X int save_scripts;
X+int onetry;
X 
X static void usage PROTO ((void));
X 
X@@ -120,6 +121,8 @@
X 			if (++i == argc)
X 				usage ();
X 			server = argv [i];
X+		} else if (!strcmp (argv [i], "-1")) {
X+			onetry = 1;
X  		} else if (argv [i][0] == '-') {
X  		    usage ();
X  		} else {
X@@ -273,7 +276,7 @@
X 
X static void usage ()
X {
X-	log_error ("Usage: dhclient [-d] [-D] [-q] [-p <port>] %s",
X+	log_error ("Usage: dhclient [-d] [-D] [-q] [-1] [-p <port>] %s",
X 		   "[-s server]");
X 	log_error ("                [-lf lease-file] [-pf pid-file]%s",
X 		   "[-cf config-file] [interface]");
X@@ -1232,6 +1235,10 @@
X 	/* No leases were available, or what was available didn't work, so
X 	   tell the shell script that we failed to allocate an address,
X 	   and try again later. */
X+	if (onetry) {
X+		exit(2);
X+		log_info ("Unable to obtain a lease on first try - exiting.\n");
X+	}
X 	log_info ("No working leases in persistent database - sleeping.\n");
X 	script_init (client, "FAIL", (struct string_list *)0);
X 	if (client -> alias)
END-of-isc-dhcp3/patches/patch-ag
echo x - isc-dhcp3/patches/patch-ai
sed 's/^X//' >isc-dhcp3/patches/patch-ai << 'END-of-isc-dhcp3/patches/patch-ai'
X--- client/scripts/freebsd.orig	Wed May 10 01:51:09 2000
X+++ client/scripts/freebsd	Wed May 10 02:01:48 2000
X@@ -1,5 +1,11 @@
X #!/bin/sh
X 
X+if [ -x /usr/bin/logger ]; then
X+	LOGGER="/usr/bin/logger -s -p user.notice -t dhclient"
X+else
X+	LOGGER=echo
X+fi
X+
X make_resolv_conf() {
X   echo search $new_domain_name >/etc/resolv.conf
X   for nameserver in $new_domain_name_servers; do
X@@ -10,17 +16,17 @@
X # Must be used on exit.   Invokes the local dhcp client exit hooks, if any.
X exit_with_hooks() {
X   exit_status=$1
X-  if [ -x /etc/dhclient-exit-hooks ]; then
X-    . /etc/dhclient-exit-hooks
X+  if [ -x /usr/local/etc/dhclient-exit-hooks ]; then
X+    . /usr/local/etc/dhclient-exit-hooks
X   fi
X # probably should do something with exit status of the local script
X   exit $exit_status
X }
X 
X # Invoke the local dhcp client enter hooks, if they exist.
X-if [ -x /etc/dhclient-enter-hooks ]; then
X+if [ -x /usr/local/etc/dhclient-enter-hooks ]; then
X   exit_status=0
X-  . /etc/dhclient-enter-hooks
X+  . /usr/local/etc/dhclient-enter-hooks
X   # allow the local script to abort processing of this state
X   # local script must set exit_status variable to nonzero.
X   if [ $exit_status -ne 0 ]; then
X@@ -29,11 +35,10 @@
X fi
X 
X if [ x$new_network_number != x ]; then
X-   echo New Network Number: $new_network_number
X+   $LOGGER "New Network Number: $new_network_number"
X fi
X 
X if [ x$new_broadcast_address != x ]; then
X- echo New Broadcast Address: $new_broadcast_address
X   new_broadcast_arg="broadcast $new_broadcast_address"
X fi
X if [ x$old_broadcast_address != x ]; then
X@@ -76,6 +81,7 @@
X   if [ x$current_hostname = x ] || \
X      [ x$current_hostname = x$old_host_name ]; then
X     if [ x$new_host_name != x$old_host_name ]; then
X+      $LOGGER "New Hostname: $new_host_name"
X       hostname $new_host_name
X     fi
X   fi
X@@ -103,11 +109,18 @@
X      [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
X     ifconfig $interface inet $new_ip_address $new_netmask_arg \
X 					$new_broadcast_arg $medium
X+    $LOGGER "New IP Address($interface): $new_ip_address"
X+    $LOGGER "New Subnet Mask ($interface): $new_subnet_mask"
X+    $LOGGER "New Broadcast Address($interface): $new_broadcast_address"
X+    if [ "$new_routers" != "" ]; then
X+      $LOGGER "New Routers: $new_routers"
X+    fi
X     route add $new_ip_address 127.1 >/dev/null 2>&1
X     for router in $new_routers; do
X       route add default $router >/dev/null 2>&1
X     done
X     if [ "$new_static_routes" != "" ]; then
X+      $LOGGER "New Static Routes: $new_static_routes"
X       set $new_static_routes
X       while [ $# -gt 1 ]; do
X 	route add $1 $2
X@@ -162,8 +175,12 @@
X   fi
X   ifconfig $interface inet $new_ip_address $new_netmask_arg \
X 					$new_broadcast_arg $medium
X+  $LOGGER "New IP Address($interface): $new_ip_address"
X+  $LOGGER "New Subnet Mask($interface): $new_subnet_mask"
X+  $LOGGER "New Broadcast Address($interface): $new_broadcast_address"
X   sleep 1
X   if [ "$new_routers" != "" ]; then
X+    $LOGGER "New Routers: $new_routers"
X     set $new_routers
X     if ping -q -c 1 $1; then
X       if [ x$new_ip_address != x$alias_ip_address ] && \
END-of-isc-dhcp3/patches/patch-ai
echo x - isc-dhcp3/patches/patch-ah
sed 's/^X//' >isc-dhcp3/patches/patch-ah << 'END-of-isc-dhcp3/patches/patch-ah'
X--- client/dhclient.8.orig	Wed May 10 02:36:03 2000
X+++ client/dhclient.8	Wed May 10 02:39:43 2000
X@@ -34,7 +34,7 @@
X .B -q
X ]
X [
X-.B -c
X+.B -1
X ]
X [
X .B -lf
X@@ -170,6 +170,11 @@
X .B -q
X flag prevents any messages other than errors from being printed to the
X standard error descriptor.
X+.PP
X+The
X+.B -1
X+flag cause dhclient to try once to get a lease.  If it fails, dhclient exits
X+with exit code two.
X .PP
X The DHCP client normally gets its configuration information from
X .B ETCDIR/dhclient.conf,
END-of-isc-dhcp3/patches/patch-ah
echo c - isc-dhcp3/pkg
mkdir -p isc-dhcp3/pkg > /dev/null 2>&1
echo x - isc-dhcp3/pkg/COMMENT
sed 's/^X//' >isc-dhcp3/pkg/COMMENT << 'END-of-isc-dhcp3/pkg/COMMENT'
XISC Dynamic Host Configuration Protocol client and server code
END-of-isc-dhcp3/pkg/COMMENT
echo x - isc-dhcp3/pkg/DESCR
sed 's/^X//' >isc-dhcp3/pkg/DESCR << 'END-of-isc-dhcp3/pkg/DESCR'
XISC-DHCP Dynamic Host Configuration Protocol server
X
XThis is a release of the Internet Software Consortium
XDHCP Server (ISC dhcpd).  In this release, support for the core
XDHCP protocol is provided.  BOOTP support is also provided for
Xbackwards compatibility. 
X
XVersion 3 of the ISC DHCP Distribution adds conditional behaviour,
Xaddress pools with access control, and client classing. An interim
Ximplementation of dynamic DNS updates for the server only is
Xincluded, but is not supported. 
X
XFeatures in upcoming releases, starting with 3.1, will include the
Xfinal asynchronous Dynamic DNS Support, DHCPv4 16-bit option codes,
Xasynchronous DNS query resolution, DHCP Authentication, and support
Xfor a DHCP Interserver Protocol and live querying and update of the
XDHCP database.
X
XWWW: http://www.isc.org/products/DHCP/
END-of-isc-dhcp3/pkg/DESCR
echo x - isc-dhcp3/pkg/PLIST
sed 's/^X//' >isc-dhcp3/pkg/PLIST << 'END-of-isc-dhcp3/pkg/PLIST'
Xetc/dhclient-script
Xsbin/dhclient
Xsbin/dhcpd
Xsbin/dhcrelay
X@exec touch /var/db/dhcpd.leases
X@exec touch %D/etc/dhclient.conf
END-of-isc-dhcp3/pkg/PLIST
exit


>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200005100136.DAA35117>