Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Feb 2001 23:11:33 +0100 (CET)
From:      Cyrille Lefevre <clefevre@citeweb.net>
To:        FreeBSD-gnats-submit@freebsd.org
Cc:        dwcjr@inethouston.net
Subject:   ports/24911: Updated port: net/isc-dhcp3 (beta 2 patch level 16)
Message-ID:  <200102062211.f16MBX533062@gits.dyndns.org>

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

>Number:         24911
>Category:       ports
>Synopsis:       Updated port: net/isc-dhcp3 (beta 2 patch level 16)
>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 Feb 06 14:20:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Cyrille Lefevre
>Release:        FreeBSD 4.2-STABLE i386
>Organization:
ACME
>Environment:

FreeBSD gits 4.2-STABLE FreeBSD 4.2-STABLE #7: Tue Jan 23 07:33:34 CET 2001     root@gits:/disk2/4.x-stable/src/sys/compile/CUSTOM  i386

>Description:

*****************************************************************************
*** please, close PR #24542 and PR #24686 which are obsoleted by this one ***
*****************************************************************************

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

	Makefile
		version bumbed.
		DISTNAME heuristic changed.
		MAINTAINER updated.
		USE_FACILITY stuff and pre-fetch target deleted.
		post-patch splitted and wrapped.
		post-install splitted and enhanced (doc and sample
		files added).

	distinfo
		updated.

	pkg-descr
		updated.

	pkg-plist
		updated.
		@exec actions changed and @unexec actions added.

	files/isc-dhcpd.sh.sample
		updated.
		$OPTIONS added.

	files/patch-aj (dhcpd.h)
		updated.
		no more substitutions are done, they are not needed
		since the job is already done by site.conf.

	files/patch-client-Makefile.dist
		new.
		install dhclient-script in $CLIENTBINDIR instead of $ETC.

	files/patch-clparse.c
		almost the same.

	files/patch-dhclient-script.8
		new.
		ETCDIR -> CLIENTBINDIR.

	files/patch-dhclient.8
		updated.
		references to dhclient-script added.

	files/patch-dhclient.c
		updated.
		option -sf and getenv(PATH_DHCLIENT_SCRIPT) added.

	files/patch-freebsd
		updated.
		set something -> set -- something and
		arp -n -d -> arp -d (-n in meaningless in this case)
		accordingly to /sbin/dhclient-script.

	files/patch-site.conf
		updated.
		LIBDIR and INCDIR added.
		CFLAGS updated.
		dhclient-script moved from $ETC to $CLIENTBINDIR.
		.leases files now go to $VARDB as they should and
		not to $PREFIX/$VARDB.

	files/patch-site.h
		deleted.
		USE_FACILITY stuff isn't needed anymore.

>How-To-Repeat:

	n/a

>Fix:

diff -BurN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ isc-dhcp3.old/Makefile isc-dhcp3/Makefile
--- isc-dhcp3.old/Makefile	Sat Dec 23 19:55:08 2000
+++ isc-dhcp3/Makefile	Tue Feb  6 22:54:45 2001
@@ -7,19 +7,16 @@
 #
 
 PORTNAME=	isc-dhcp3
-PORTVERSION=	3.0.b2.11
+PORTVERSION=	3.0.b2.16
 CATEGORIES=	net
 MASTER_SITES=   ftp://ftp.isc.org/isc/dhcp/
-DISTNAME=	dhcp-3.0b2pl${PORTVERSION:S/3.0.b2.//g}
+DISTNAME=	${PORTNAME:S/isc-//:S/3/-/}${PORTVERSION:S/.b/b/:R}pl${PORTVERSION:E}
 
-MAINTAINER=	ports@FreeBSD.org
+MAINTAINER=	clefevre@citeweb.net
 
-.if defined(USE_FACILITY)
-_USE_FACILITY:=	`${ECHO} ${USE_FACILITY} | ${TR} "[:lower:]" "[:upper:]"`
-USE_FACILITY=	${_USE_FACILITY}
-.else
-USE_FACILITY=	DAEMON
-.endif
+#
+# Global variables
+#
 
 HAS_CONFIGURE=	yes
 
@@ -29,34 +26,89 @@
 		dhcpd.leases.5
 MAN8=		dhclient.8 dhclient-script.8 dhcpd.8 dhcrelay.8
 
-pre-fetch:
-.if ${USE_FACILITY} == "DAEMON"
-	@${ECHO} ""
-	@${ECHO} "	You can choose which syslog faciliy by setting LOG_FACILITY to:"
-	@${ECHO} "		daemon, local{0-7}"
-	@${ECHO} "	'daemon' is the default option if one is not defined."
-	@${ECHO} "	Press Control-C and run make clean build LOG_FACILITY=<local{0-7}>,"
-	@${ECHO} "	if you wish to use a different logging facility."
-	@${ECHO} ""
-	@sleep 2
+#
+# Local variables
+#
+
+PATCH_SUBDIRS=	client common dhcpctl minires omapip relay server
+
+BIN_FILES=	dhclient dhcpd dhcrelay
+SAMP_FILES=	client/dhclient.conf server/dhcpd.conf
+RCD_FILES=	isc-dhcpd.sh.sample
+DOC_FILES=	CHANGES COPYRIGHT README RELNOTES
+DATA_FILES=	dhclient.leases dhcpd.leases
+CONF_FILES=	dhclient.conf
+
+BIN_DIR=	${PREFIX}/sbin
+ETC_DIR=	${PREFIX}/etc
+RCD_DIR=	${PREFIX}/etc/rc.d
+DOC_DIR=	${PREFIX}/share/doc/${PORTNAME}
+VARDB_DIR=	/var/db
+
+STRIP?=		strip
+
+#
+# Post-patch
+#
+
+post-patch: patch-scripts patch-makefiles
+
+patch-scripts:
+	@${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' \
+		${WRKSRC}/client/scripts/freebsd
+
+patch-makefiles:
+.for subdir in ${PATCH_SUBDIRS}
+	@${PERL} -pi.fbsd -e \
+	    's|^DEBUG[	 ]*=|DEBUG ?=|g;s|^CFLAGS[	 ]*=|CFLAGS +=|g' \
+		${WRKSRC}/${subdir}/Makefile.dist
+.endfor
+
+#
+# Post-install
+#
+
+post-install: strip-binary-files install-startup-files \
+	      install-doc-files install-sample-files \
+	      create-data-files create-conf-files
+
+strip-binary-files:
+.for file in ${BIN_FILES}
+.if exists({BIN_DIR}/${file})
+	@${STRIP} ${BIN_DIR}/${file}
 .endif
+.endfor
 
-post-patch:
-	@${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' ${WRKSRC}/includes/dhcpd.h
-	@${PERL} -pi.fbsd -e "s.!!USE_FACILITY!!.${USE_FACILITY}.g" ${WRKSRC}/includes/site.h
-	@${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' ${WRKSRC}/client/scripts/freebsd
-.for MF in relay/Makefile.dist server/Makefile.dist client/Makefile.dist common/Makefile.dist dhcpctl/Makefile.dist minires/Makefile.dist omapip/Makefile.dist 
-	@${PERL} -pi.fbsd -e 's|^DEBUG[	 ]*=|DEBUG ?=|g ; s|^CFLAGS[	 ]*=|CFLAGS +=|g' ${WRKSRC}/${MF}
-.endfor
-
-post-install:
-	${TOUCH} /var/db/dhcpd.leases
-.for file in dhclient dhcpd dhcrelay
-	if [ -f ${PREFIX}/sbin/${file} ]; then \
-		strip ${PREFIX}/sbin/${file}; \
-	fi
+install-startup-files:
+.for file in ${RCD_FILES}
+	@${INSTALL_SCRIPT} ${FILESDIR}/${file} ${RCD_DIR}/${file}
+.endfor
+
+install-doc-files:
+.if !defined(NOPORTDOCS)
+	@${MKDIR} ${DOC_DIR}
+.for file in ${DOC_FILES}
+	@${INSTALL_DATA} ${WRKSRC}/${file} ${DOC_DIR}/${file}
+.endfor
+.endif
+
+install-sample-files:
+.for file in ${SAMP_FILES}
+	@${INSTALL_DATA} ${WRKSRC}/${file} ${ETC_DIR}/${file:T}.sample
+.endfor
+
+create-data-files:
+.for file in ${DATA_FILES}
+.if !exists(${VARDB_DIR}/${file})
+	@${TOUCH} ${VARDB_DIR}/${file}
+.endif
+.endfor
+
+create-conf-files:
+.for file in ${CONF_FILES}
+.if !exists(${ETC_DIR}/${file})
+	@${TOUCH} ${ETC_DIR}/${file}
+.endif
 .endfor
-	${INSTALL_SCRIPT} ${FILESDIR}/isc-dhcpd.sh.sample  \
-		${PREFIX}/etc/rc.d
 
 .include <bsd.port.mk>
diff -BurN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ isc-dhcp3.old/distinfo isc-dhcp3/distinfo
--- isc-dhcp3.old/distinfo	Sat Dec  2 07:25:48 2000
+++ isc-dhcp3/distinfo	Tue Feb  6 19:57:53 2001
@@ -1 +1 @@
-MD5 (dhcp-3.0b2pl11.tar.gz) = 5fd2c97d850c41e6445648a4108b509f
+MD5 (dhcp-3.0b2pl16.tar.gz) = 88fb65480a1b66c8d011957ea6c2e138
diff -BurN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ isc-dhcp3.old/files/isc-dhcpd.sh.sample isc-dhcp3/files/isc-dhcpd.sh.sample
--- isc-dhcp3.old/files/isc-dhcpd.sh.sample	Wed Dec 13 09:26:16 2000
+++ isc-dhcp3/files/isc-dhcpd.sh.sample	Sun Jan 28 00:35:09 2001
@@ -2,6 +2,7 @@
 
 # $FreeBSD: ports/net/isc-dhcp3/files/isc-dhcpd.sh.sample,v 1.1 2000/12/13 08:26:16 obrien Exp $
 
+OPTIONS=""
 IFACES="SET_THIS"
 
 if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
@@ -11,10 +12,10 @@
 
 case "$1" in
 start)
-	${PREFIX}/sbin/dhcpd $IFACES
+	${PREFIX}/sbin/dhcpd $OPTIONS $IFACES
 	;;
 stop)
-	kill `cat /var/run/dhcpd.pid`
+	killall dhcpd
 	;;
 restart)
 	$0 stop
@@ -24,7 +25,7 @@
 	ps -auxww | egrep '(conserver|console)' | egrep -v "($0|egrep)"
 	;;
 *)
-	echo "Usage: `basename $0` {start|stop|restart|status}" >&2
+	echo "usage: ${0##*/} {start|stop|restart|status}" >&2
 	;;
 esac
 
diff -BurN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ isc-dhcp3.old/files/patch-aj isc-dhcp3/files/patch-aj
--- isc-dhcp3.old/files/patch-aj	Tue Jul 18 10:50:54 2000
+++ isc-dhcp3/files/patch-aj	Fri Jan 26 06:46:29 2001
@@ -1,43 +1,20 @@
---- includes/dhcpd.h.orig	Wed Feb  2 18:01:17 2000
-+++ includes/dhcpd.h	Mon Jul 17 21:21:04 2000
-@@ -329,7 +329,7 @@
- #endif
- 
- #ifndef CL_DEFAULT_SCRIPT_NAME
--# define CL_DEFAULT_SCRIPT_NAME "/etc/dhclient-script"
-+# define CL_DEFAULT_SCRIPT_NAME "!!PREFIX!!/etc/dhclient-script"
- #endif
- 
- #ifndef CL_DEFAULT_REQUESTED_OPTIONS
-@@ -771,11 +771,11 @@
- #define _PATH_DHCPD_DB		"dhcpd.leases"
- #else
- #ifndef _PATH_DHCPD_CONF
--#define _PATH_DHCPD_CONF	"/etc/dhcpd.conf"
-+#define _PATH_DHCPD_CONF	"!!PREFIX!!/etc/dhcpd.conf"
- #endif
- 
- #ifndef _PATH_DHCPD_DB
--#define _PATH_DHCPD_DB		"/etc/dhcpd.leases"
-+#define _PATH_DHCPD_DB		"!!PREFIX!!/etc/dhcpd.leases"
- #endif
- 
- #ifndef _PATH_DHCPD_PID
-@@ -784,7 +784,7 @@
- #endif
- 
- #ifndef _PATH_DHCLIENT_CONF
--#define _PATH_DHCLIENT_CONF	"/etc/dhclient.conf"
-+#define _PATH_DHCLIENT_CONF	"!!PREFIX!!/etc/dhclient.conf"
- #endif
- 
- #ifndef _PATH_DHCLIENT_PID
-@@ -792,7 +792,7 @@
- #endif
- 
- #ifndef _PATH_DHCLIENT_DB
--#define _PATH_DHCLIENT_DB	"/etc/dhclient.leases"
-+#define _PATH_DHCLIENT_DB	"!!PREFIX!!/etc/dhclient.leases"
- #endif
- 
- #ifndef _PATH_RESOLV_CONF
+--- includes/dhcpd.h.orig	Thu Jan 25 09:25:12 2001
++++ includes/dhcpd.h	Fri Jan 26 06:46:12 2001
+@@ -672,7 +672,7 @@
+ 	u_int32_t requested_lease;	/* Requested lease time, if user
+ 					   doesn't configure one. */
+ 	struct string_list *media;	/* Possible network media values. */
+-	char *script_name;		/* Name of config script. */
++	const char *script_name;	/* Name of config script. */
+ 	char *vendor_space_name;	/* Name of config script. */
+ 	enum policy bootp_policy;
+ 					/* Ignore, accept or prefer BOOTP
+@@ -1864,6 +1864,8 @@
+ void set_ip_address PROTO ((struct interface_info *, struct in_addr));
+ 
+ /* clparse.c */
++extern const char *client_script_name;
++
+ isc_result_t read_client_conf PROTO ((void));
+ void read_client_leases PROTO ((void));
+ void parse_client_statement PROTO ((struct parse *, struct interface_info *,
diff -BurN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ isc-dhcp3.old/files/patch-client-Makefile.dist isc-dhcp3/files/patch-client-Makefile.dist
--- isc-dhcp3.old/files/patch-client-Makefile.dist	Thu Jan  1 01:00:00 1970
+++ isc-dhcp3/files/patch-client-Makefile.dist	Fri Jan 26 05:29:08 2001
@@ -0,0 +1,29 @@
+--- client/Makefile.dist.orig	Fri Oct 13 21:03:19 2000
++++ client/Makefile.dist	Fri Jan 26 05:05:24 2001
+@@ -52,8 +52,8 @@
+ 	  echo "No client script available."; \
+ 	else \
+ 	  $(INSTALL) $(TOP)/client/scripts/$(SCRIPT)\
+-					$(DESTDIR)$(ETC)/dhclient-script; \
+-	  $(CHMOD) 700 $(DESTDIR)$(ETC)/dhclient-script; \
++				$(DESTDIR)$(CLIENTBINDIR)/dhclient-script; \
++	  $(CHMOD) 700 $(DESTDIR)$(CLIENTBINDIR)/dhclient-script; \
+ 	fi
+ 	$(MANINSTALL) $(MANFROM) dhclient.$(MANCAT)8 $(MANTO) \
+ 			$(DESTDIR)$(ADMMANDIR)/dhclient$(ADMMANEXT)
+@@ -93,6 +93,7 @@
+ 
+ dhclient.man8: dhclient.8
+ 	sed -e "s#ETCDIR#$(ETC)#g" -e "s#DBDIR#$(VARDB)#g" \
++		-e "s#CLIENTBINDIR#$(CLIENTBINDIR)#g" \
+ 		-e "s#RUNDIR#$(VARRUN)#g" < dhclient.8 >dhclient.man8
+ 
+ dhclient-script.cat8:	dhclient-script.man8
+@@ -100,6 +101,7 @@
+ 
+ dhclient-script.man8:	dhclient-script.8
+ 	sed -e "s#ETCDIR#$(ETC)#g" -e "s#DBDIR#$(VARDB)#g" \
++		-e "s#CLIENTBINDIR#$(CLIENTBINDIR)#g" \
+ 		-e "s#RUNDIR#$(VARRUN)#g" < dhclient-script.8 \
+ 						>dhclient-script.man8
+ 
diff -BurN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ isc-dhcp3.old/files/patch-clparse.c isc-dhcp3/files/patch-clparse.c
--- isc-dhcp3.old/files/patch-clparse.c	Fri Jul 21 07:42:18 2000
+++ isc-dhcp3/files/patch-clparse.c	Fri Jan 26 06:44:54 2001
@@ -1,5 +1,11 @@
---- client/clparse.c.orig	Wed Jul 19 21:13:10 2000
-+++ client/clparse.c	Thu Jul 20 21:52:53 2000
-@@ -46 +46 @@
+--- client/clparse.c.orig	Thu Jan 25 09:17:17 2001
++++ client/clparse.c	Fri Jan 26 06:11:01 2001
+@@ -50,7 +50,7 @@
+ 
+ static TIME parsed_time;
+ 
 -char client_script_name [] = "/etc/dhclient-script";
-+char client_script_name [] = CL_DEFAULT_SCRIPT_NAME;
++const char *client_script_name = CL_DEFAULT_SCRIPT_NAME;
+ 
+ struct client_config top_level_config;
+ 
diff -BurN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ isc-dhcp3.old/files/patch-dhclient-script.8 isc-dhcp3/files/patch-dhclient-script.8
--- isc-dhcp3.old/files/patch-dhclient-script.8	Thu Jan  1 01:00:00 1970
+++ isc-dhcp3/files/patch-dhclient-script.8	Fri Jan 26 05:27:38 2001
@@ -0,0 +1,16 @@
+--- client/dhclient-script.8.orig	Tue Mar 30 00:50:50 1999
++++ client/dhclient-script.8	Fri Jan 26 05:12:57 2001
+@@ -60,11 +60,11 @@
+ to change the behaviour of the script.   If an error occurs during the
+ execution of the script, it can set the exit_status variable to a nonzero
+ value, and
+-.B ETCDIR/dhclient-script
++.B CLIENTBINDIR/dhclient-script
+ will exit with that error code immediately after the client script exits.
+ .PP
+ After all processing has completed,
+-.B ETCDIR/dhclient-script
++.B CLIENTBINDIR/dhclient-script
+ checks for the presence of an executable
+ .B ETCDIR/dhclient-exit-hooks
+ script, which if present is invoked using the '.' command.   The exit status
diff -BurN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ isc-dhcp3.old/files/patch-dhclient.8 isc-dhcp3/files/patch-dhclient.8
--- isc-dhcp3.old/files/patch-dhclient.8	Sun Jun 25 23:08:08 2000
+++ isc-dhcp3/files/patch-dhclient.8	Fri Jan 26 05:27:11 2001
@@ -1,5 +1,5 @@
---- client/dhclient.8.orig	Wed May 10 02:36:03 2000
-+++ client/dhclient.8	Wed May 10 02:39:43 2000
+--- client/dhclient.8.orig	Mon May  1 19:11:36 2000
++++ client/dhclient.8	Fri Jan 26 05:12:37 2001
 @@ -34,7 +34,7 @@
  .B -q
  ]
@@ -9,15 +9,59 @@
  ]
  [
  .B -lf
-@@ -170,6 +170,11 @@
- .B -q
+@@ -49,6 +49,10 @@
+ .I config-file
+ ]
+ [
++.B -sf
++.I script-file
++]
++[
+ .B -s
+ server
+ ]
+@@ -174,17 +178,25 @@
  flag prevents any messages other than errors from being printed to the
  standard error descriptor.
-+.PP
+ .PP
 +The
 +.B -1
 +flag cause dhclient to try once to get a lease.  If it fails, dhclient exits
 +with exit code two.
- .PP
++.PP
  The DHCP client normally gets its configuration information from
  .B ETCDIR/dhclient.conf,
+ its lease database from
+-.B DBDIR/dhclient.leases
+-and stores its process ID in a file called
++.B DBDIR/dhclient.leases,
++stores its process ID in a file called
+ .B RUNDIR/dhclient.pid.
++and configure the network interface using
++.B CLIENTBINDIR/dhclient-script.
+ To specify different names and/or locations for these files, use the
+ .B -cf,
+-.B -lf
+-and
++.B -lf,
+ .B -pf
++and
++.B -sf
+ flags, respectively, followed by the name of the file.   This can be
+ particularly useful if, for example,
+ .B DBDIR
+@@ -206,10 +218,12 @@
+ .SH CONFIGURATION
+ The syntax of the dhclient.conf(8) file is discussed seperately.
+ .SH FILES
++.B CLIENTBINDIR/dhclient-script,
+ .B ETCDIR/dhclient.conf, DBDIR/dhclient.leases, RUNDIR/dhclient.pid,
+-.B DBDIR/dhclient.leases~.
++.B DBDIR/dhclient.leases.
+ .SH SEE ALSO
+-dhcpd(8), dhcrelay(8), dhclient.conf(5), dhclient.leases(5)
++dhcpd(8), dhcrelay(8), dhclient-script(8), dhclient.conf(5) and
++dhclient.leases(5).
+ .SH AUTHOR
+ .B dhclient(8)
+ has been written for the Internet Software Consortium
diff -BurN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ isc-dhcp3.old/files/patch-dhclient.c isc-dhcp3/files/patch-dhclient.c
--- isc-dhcp3.old/files/patch-dhclient.c	Wed Sep 27 12:36:13 2000
+++ isc-dhcp3/files/patch-dhclient.c	Fri Jan 26 06:16:00 2001
@@ -1,5 +1,5 @@
---- client/dhclient.c.orig	Thu Sep 14 05:42:01 2000
-+++ client/dhclient.c	Wed Sep 27 03:31:33 2000
+--- client/dhclient.c.orig	Thu Jan 25 09:18:06 2001
++++ client/dhclient.c	Fri Jan 26 06:15:50 2001
 @@ -78,6 +78,7 @@
  u_int16_t remote_port;
  int no_daemon;
@@ -8,7 +8,27 @@
  
  static void usage PROTO ((void));
  
-@@ -176,6 +177,8 @@
+@@ -104,6 +105,7 @@
+ 	int no_dhclient_conf = 0;
+ 	int no_dhclient_db = 0;
+ 	int no_dhclient_pid = 0;
++	int no_dhclient_script = 0;
+ 	char *s;
+ 
+ #ifdef SYSLOG_4_2
+@@ -159,6 +161,11 @@
+                                 usage ();
+                         path_dhclient_db = argv [i];
+ 			no_dhclient_db = 1;
++                } else if (!strcmp (argv [i], "-sf")) {
++                        if (++i == argc)
++                                usage ();
++                        client_script_name = argv [i];
++			no_dhclient_script = 1;
+ 		} else if (!strcmp (argv [i], "-q")) {
+ 			quiet = 1;
+ 			quiet_interface_discovery = 1;
+@@ -176,6 +183,8 @@
  		} else if (!strcmp (argv [i], "-w")) {
  			/* do not exit if there are no broadcast interfaces. */
  			persist = 1;
@@ -17,16 +37,32 @@
   		} else if (argv [i][0] == '-') {
   		    usage ();
   		} else {
-@@ -417,7 +420,7 @@
+@@ -208,6 +217,9 @@
+ 	if (!no_dhclient_pid && (s = getenv ("PATH_DHCLIENT_PID"))) {
+ 		path_dhclient_pid = s;
+ 	}
++	if (!no_dhclient_script && (s = getenv ("PATH_DHCLIENT_SCRIPT"))) {
++		client_script_name = s;
++	}
+ 
+ 	/* first kill of any currently running client */
+ 	if (release_mode) {
+@@ -423,10 +435,11 @@
  	log_info (arr);
  	log_info (url);
  
 -	log_error ("Usage: dhclient [-d] [-D] [-q] [-p <port>] %s",
-+	log_error ("Usage: dhclient [-1] [-d] [-D] [-q] [-p <port>] %s",
++	log_error ("usage: dhclient [-1] [-d] [-D] [-q] [-p <port>] %s",
  		   "[-s server]");
- 	log_fatal ("                [-lf lease-file] [-pf pid-file]%s",
- 		   "[-cf config-file] [interface]");
-@@ -1402,6 +1405,10 @@
+-	log_fatal ("                [-lf lease-file] [-pf pid-file]%s",
+-		   "[-cf config-file] [interface]");
++	log_error ("                [-cf config-file] [-lf lease-file] %s",
++		   "[-pf pid-file] [-sf script-file]");
++	log_fatal ("                [interface]");
+ }
+ 
+ isc_result_t find_class (struct class **c,
+@@ -1432,6 +1445,10 @@
  	/* No leases were available, or what was available didn't work, so
  	   tell the shell script that we failed to allocate an address,
  	   and try again later. */
diff -BurN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ isc-dhcp3.old/files/patch-freebsd isc-dhcp3/files/patch-freebsd
--- isc-dhcp3.old/files/patch-freebsd	Wed Sep 27 12:36:13 2000
+++ isc-dhcp3/files/patch-freebsd	Sat Jan 27 02:17:52 2001
@@ -1,5 +1,5 @@
---- client/scripts/freebsd.orig	Wed Sep 20 02:38:03 2000
-+++ client/scripts/freebsd	Wed Sep 27 03:33:29 2000
+--- client/scripts/freebsd.orig	Wed Sep 20 11:38:03 2000
++++ client/scripts/freebsd	Sat Jan 27 02:17:01 2001
 @@ -1,5 +1,11 @@
  #!/bin/sh
  
@@ -55,12 +55,26 @@
        hostname $new_host_name
      fi
    fi
-@@ -105,11 +111,18 @@
+@@ -93,24 +99,31 @@
+       route delete default $router >/dev/null 2>&1
+     done
+     if [ "$old_static_routes" != "" ]; then
+-      set $old_static_routes
++      set -- $old_static_routes
+       while [ $# -gt 1 ]; do
+ 	route delete $1 $2
+ 	shift; shift
+       done
+     fi
+-    arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' |sh
++    arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' |sh
+   fi
+   if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \
       [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
      ifconfig $interface inet $new_ip_address $new_netmask_arg \
  					$new_broadcast_arg $medium
 +    $LOGGER "New IP Address($interface): $new_ip_address"
-+    $LOGGER "New Subnet Mask ($interface): $new_subnet_mask"
++    $LOGGER "New Subnet Mask($interface): $new_subnet_mask"
 +    $LOGGER "New Broadcast Address($interface): $new_broadcast_address"
 +    if [ "$new_routers" != "" ]; then
 +      $LOGGER "New Routers: $new_routers"
@@ -70,11 +84,29 @@
        route add default $router >/dev/null 2>&1
      done
      if [ "$new_static_routes" != "" ]; then
+-      set $new_static_routes
 +      $LOGGER "New Static Routes: $new_static_routes"
-       set $new_static_routes
++      set -- $new_static_routes
        while [ $# -gt 1 ]; do
  	route add $1 $2
-@@ -161,8 +174,12 @@
+ 	shift; shift
+@@ -138,13 +151,13 @@
+       route delete default $router >/dev/null 2>&1
+     done
+     if [ "$old_static_routes" != "" ]; then
+-      set $old_static_routes
++      set -- $old_static_routes
+       while [ $# -gt 1 ]; do
+ 	route delete $1 $2
+ 	shift; shift
+       done
+     fi
+-    arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
++    arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' \
+ 						|sh >/dev/null 2>&1
+   fi
+   if [ x$alias_ip_address != x ]; then
+@@ -161,9 +174,13 @@
    fi
    ifconfig $interface inet $new_ip_address $new_netmask_arg \
  					$new_broadcast_arg $medium
@@ -83,7 +115,37 @@
 +  $LOGGER "New Broadcast Address($interface): $new_broadcast_address"
    sleep 1
    if [ "$new_routers" != "" ]; then
+-    set $new_routers
 +    $LOGGER "New Routers: $new_routers"
-     set $new_routers
++    set -- $new_routers
      if ping -q -c 1 $1; then
        if [ x$new_ip_address != x$alias_ip_address ] && \
+ 			[ x$alias_ip_address != x ]; then
+@@ -174,9 +191,9 @@
+       for router in $new_routers; do
+ 	route add default $router >/dev/null 2>&1
+       done
+-      set $new_static_routes
++      set -- $new_static_routes
+       while [ $# -gt 1 ]; do
+-	route add $0 $1
++	route add $1 $2
+ 	shift; shift
+       done
+       make_resolv_conf
+@@ -188,13 +205,13 @@
+     route delete default $router >/dev/null 2>&1
+   done
+   if [ "$old_static_routes" != "" ]; then
+-    set $old_static_routes
++    set -- $old_static_routes
+     while [ $# -gt 1 ]; do
+       route delete $1 $2
+       shift; shift
+     done
+   fi
+-  arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
++  arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' \
+ 							|sh >/dev/null 2>&1
+   exit_with_hooks 1
+ fi
diff -BurN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ isc-dhcp3.old/files/patch-site.conf isc-dhcp3/files/patch-site.conf
--- isc-dhcp3.old/files/patch-site.conf	Tue Oct  3 18:01:30 2000
+++ isc-dhcp3/files/patch-site.conf	Sat Jan 27 00:53:09 2001
@@ -1,23 +1,32 @@
---- site.conf.orig	Wed Jul  7 08:20:10 1999
-+++ site.conf	Tue Oct  3 08:59:57 2000
-@@ -1,2 +1,20 @@
+--- site.conf.orig	Wed Jul  7 17:20:10 1999
++++ site.conf	Fri Jan 26 06:58:15 2001
+@@ -1,2 +1,29 @@
  # Put local site configuration stuff here to override the default
  # settings in Makefile.conf
 +
 +PREFIX ?=	/usr/local
 +
-+ETC =		$(PREFIX)/etc
 +BINDIR =	$(PREFIX)/sbin
 +CLIENTBINDIR =	$(PREFIX)/sbin
-+MANCAT =	man
 +ADMMANDIR =	$(PREFIX)/man/man8
 +ADMMANEXT =	.8
 +FFMANDIR =	$(PREFIX)/man/man5
 +FFMANEXT =	.5
 +LIBMANDIR =	$(PREFIX)/man/man3
 +LIBMANEXT =	.3
++MANCAT =	man
++# INSTALL =	${INSTALL_DATA}
++# MANINSTALL =	${INSTALL_MAN}
++ETC =		$(PREFIX)/etc
++LIBDIR =	${PREFIX}/lib
++INCDIR =	${PREFIX}/include
 +
 +DEBUG ?=	#none
-+CFLAGS +=	-DCL_DEFAULT_SCRIPT_NAME=\"$(ETC)/dhclient-script\"
++
++CFLAGS +=	-DCL_DEFAULT_SCRIPT_NAME=\"$(CLIENTBINDIR)/dhclient-script\"
++
 +CFLAGS +=	-D_PATH_DHCPD_CONF=\"$(ETC)/dhcpd.conf\"
++CFLAGS +=	-D_PATH_DHCPD_DB=\"$(VARDB)/dhcpd.leases\"
++
 +CFLAGS +=	-D_PATH_DHCLIENT_CONF=\"$(ETC)/dhclient.conf\"
++CFLAGS +=	-D_PATH_DHCLIENT_DB=\"$(VARDB)/dhclient.leases\"
diff -BurN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ isc-dhcp3.old/files/patch-site.h isc-dhcp3/files/patch-site.h
--- isc-dhcp3.old/files/patch-site.h	Tue Dec  5 18:53:41 2000
+++ isc-dhcp3/files/patch-site.h	Thu Jan  1 01:00:00 1970
@@ -1,5 +0,0 @@
---- includes/site.h.orig	Thu Sep 28 11:24:17 2000
-+++ includes/site.h	Sat Dec  2 00:46:53 2000
-@@ -159 +159 @@
--/* #define DHCPD_LOG_FACILITY LOG_DAEMON */
-+#define DHCPD_LOG_FACILITY LOG_!!USE_FACILITY!!
diff -BurN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ isc-dhcp3.old/pkg-descr isc-dhcp3/pkg-descr
--- isc-dhcp3.old/pkg-descr	Sat Sep 30 20:42:33 2000
+++ isc-dhcp3/pkg-descr	Sun Jan 28 02:01:40 2001
@@ -1,16 +1,17 @@
-ISC-DHCP Dynamic Host Configuration Protocol server
+The ISC Dynamic Host Configuration Protocol Distribution provides
+a freely redistributable reference implementation of all aspects
+of the DHCP protocol, through a suite of DHCP tools:
 
-This is a release of the Internet Software Consortium
-DHCP Server (ISC dhcpd).  In this release, support for the core
-DHCP protocol is provided.  BOOTP support is also provided for
-backwards compatibility. 
+    * A DHCP server
+    * A DHCP client
+    * A DHCP relay agent
 
 Version 3, Beta 2 of the ISC DHCP Distribution includes the following
-features that are new since version 2.0: 
+features that are new since version 2.0:
 
     * DHCP Failover Protocol support 
     * OMAPI, an API for accessing and modifying the DHCP
-      server and client state. 
+      server and client state.
     * Conditional behaviour 
     * Storing arbitrary information on leases 
     * Address pools with access control 
@@ -19,10 +20,12 @@
     * Relay agent information option support 
     * Dynamic DNS updates 
     * Many bug fixes, performance enhancements, and minor
-      new DHCP protocol features. 
+      new DHCP protocol features.
 
-A fully-featured implementation of dynamic DNS updates is included in
-this release.  There are no build dependencies with any BIND version.
+Also, a fully-featured implementation of dynamic DNS updates is
+included and there are no build dependencies with any BIND version.
 
+Since patch-level 15, a log-facility configuration parameter has
+been added, see the manual pages for details.
 
 WWW: http://www.isc.org/products/DHCP/
diff -BurN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ isc-dhcp3.old/pkg-plist isc-dhcp3/pkg-plist
--- isc-dhcp3.old/pkg-plist	Sat Dec 23 19:53:58 2000
+++ isc-dhcp3/pkg-plist	Sun Jan 28 01:59:12 2001
@@ -1,9 +1,8 @@
 @comment $FreeBSD: ports/net/isc-dhcp3/pkg-plist,v 1.14 2000/12/23 18:53:58 obrien Exp $
-etc/dhclient-script
-sbin/dhclient
-sbin/dhcpd
-sbin/dhcrelay
+etc/dhclient.conf.sample
+etc/dhcpd.conf.sample
 etc/rc.d/isc-dhcpd.sh.sample
+include/dhcpctl.h
 include/isc/boolean.h
 include/isc/dst.h
 include/isc/int.h
@@ -11,13 +10,25 @@
 include/isc/list.h
 include/isc/result.h
 include/isc/types.h
-@dirrm include/isc
 include/omapip/alloc.h
 include/omapip/buffer.h
 include/omapip/omapip.h
-@dirrm include/omapip
-include/dhcpctl.h
-lib/libomapi.a
 lib/libdhcpctl.a
-@exec touch /var/db/dhcpd.leases
-@exec touch %D/etc/dhclient.conf
+lib/libomapi.a
+sbin/dhclient
+sbin/dhclient-script
+sbin/dhcpd
+sbin/dhcrelay
+share/doc/isc-dhcp3/CHANGES
+share/doc/isc-dhcp3/COPYRIGHT
+share/doc/isc-dhcp3/README
+share/doc/isc-dhcp3/RELNOTES
+@dirrm include/isc
+@dirrm include/omapip
+@dirrm share/doc/isc-dhcp3
+@exec [ -f /var/db/dhclient.leases ] || touch /var/db/dhclient.leases
+@unexec [ -s /var/db/dhclient.leases ] || rm -f /var/db/dhclient.leases
+@exec [ -f /var/db/dhcpd.leases ] || touch /var/db/dhcpd.leases
+@unexec [ -s /var/db/dhcpd.leases ] || rm -f /var/db/dhcpd.leases
+@exec [ -f %D/etc/dhclient.conf ] || touch %D/etc/dhclient.conf
+@unexec [ -L %D/etc/dhclient.conf -o -s %D/etc/dhclient.conf ] || rm -f %D/etc/dhclient.conf

>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?200102062211.f16MBX533062>