aboutsummaryrefslogtreecommitdiffstats
path: root/net/isc-dhcp31-server
diff options
context:
space:
mode:
Diffstat (limited to 'net/isc-dhcp31-server')
-rw-r--r--net/isc-dhcp31-server/Makefile113
-rw-r--r--net/isc-dhcp31-server/distinfo2
-rw-r--r--net/isc-dhcp31-server/files/isc-dhcpd.sh.sample69
-rw-r--r--net/isc-dhcp31-server/files/isc-dhcrelay.sh.sample78
-rw-r--r--net/isc-dhcp31-server/files/patch-freebsd8
-rw-r--r--net/isc-dhcp31-server/files/patch-site.conf2
-rw-r--r--net/isc-dhcp31-server/files/rc.isc-dhcpd.conf.sample7
-rw-r--r--net/isc-dhcp31-server/files/rc.isc-dhcrelay.conf.sample8
-rw-r--r--net/isc-dhcp31-server/pkg-plist78
9 files changed, 261 insertions, 104 deletions
diff --git a/net/isc-dhcp31-server/Makefile b/net/isc-dhcp31-server/Makefile
index 4486a54bd5d4..61fbcee44f4b 100644
--- a/net/isc-dhcp31-server/Makefile
+++ b/net/isc-dhcp31-server/Makefile
@@ -7,7 +7,7 @@
#
PORTNAME= dhcp
-PORTVERSION= 3.0.r11
+PORTVERSION= 3.0
CATEGORIES= net
MASTER_SITES= ftp://ftp.isc.org/isc/%SUBDIR%/ \
${US_MASTER_SITES} ${JAPAN_MASTER_SITES} \
@@ -19,33 +19,30 @@ MASTER_SITES= ftp://ftp.isc.org/isc/%SUBDIR%/ \
${SWEDEN_MASTER_SITES} ${UK_MASTER_SITES} \
${NETHERLANDS_MASTER_SITES} ${BRAZIL_MASTER_SITES} \
${GREECE_MASTER_SITES} ${TURKEY_MASTER_SITES}
-MASTER_SITE_SUBDIR= dhcp dpcp/dhcp-3.0-history
+MASTER_SITE_SUBDIR= dhcp dhcp/dhcp-3.0-history
PKGNAMEPREFIX= isc-
PKGNAMESUFFIX= 3
DISTNAME= ${PORTNAME}-${RELEASE}${VERSION}${PATCHLEVEL}
MAINTAINER= clefevre@citeweb.net
-#
+.include <bsd.port.pre.mk>
+
# Global variables
#
HAS_CONFIGURE= yes
-PLIST_SUB= DATA_DIR="${DATA_DIR}" RCD_SUBDIR="${RCD_SUBDIR}" \
- CONF_SUBDIR="${CONF_SUBDIR}" SAMP_SUBDIR="${SAMP_SUBDIR}" \
- BIN_SUBDIR="${BIN_SUBDIR}" SBIN_SUBDIR="${SBIN_SUBDIR}" \
- INC_SUBDIR="${INC_SUBDIR}" LIB_SUBDIR="${LIB_SUBDIR}" \
- DOC_SUBDIR="${DOC_SUBDIR}" SAMP_SUFFIX="${SAMP_SUFFIX}"
-
MAN1= omshell.1
MAN3= dhcpctl.3 omapi.3 omshell.3
-MAN5= dhclient.conf.5 dhclient.leases.5 dhcp-contrib.5 \
+MAN5= dhclient.conf.5 dhclient.leases.5 \
dhcp-eval.5 dhcp-options.5 dhcpd.conf.5 \
dhcpd.leases.5
MAN8= dhclient.8 dhclient-script.8 dhcpd.8 dhcrelay.8
-#
+MSG_FILE= ${PKGDIR}/pkg-message
+PKGMESSAGE= ${WRKDIR}/pkg-message
+
# Local variables
#
@@ -79,10 +76,11 @@ GREECE_MASTER_SITES= ftp://ftp.ntua.gr/pub/net/isc/isc/%SUBDIR%/
TURKEY_MASTER_SITES= ftp://ftp.ulak.net.tr/pub/networking/isc/%SUBDIR%/ \
ftp://ftp.metu.edu.tr/pub/mirrors/ftp.isc.org/%SUBDIR%/
-# for instance, possible version formats are, in order:
+# for instance, possible versions are:
# 1.2.r3.4 (or 1.2.b3.4), 1.2.r3 (or 1.2.b3), 1.2.3, 1.2
# which have to become:
# 1.2rc3pl4 (or 1.2beta3pl4), 1.2rc3 (or 1.2beta3), 1.2pl3, 1.2
+# so, the magic things are:
VERSION=
PATCHLEVEL=
.if ${PORTVERSION:R:E:M[br]*} != ""
@@ -101,45 +99,40 @@ RELEASE= ${PORTVERSION}
PATCH_SUBDIRS= common minires dst omapip server client relay dhcpctl
-SAMP_SUFFIX= .sample
-
-BIN_FILES= dhclient dhcpd dhcrelay
+BIN_FILES= dhclient dhcpd dhcrelay omshell
CONF_FILES= dhclient.conf
-SAMP_FILES= client/dhclient.conf server/dhcpd.conf
-RCD_FILES= isc-dhcpd.sh${SAMP_SUFFIX}
+RC_FILES= isc-dhcpd isc-dhcrelay
DOC_FILES= CHANGES COPYRIGHT README RELNOTES
+SAMP_FILES= client/dhclient.conf server/dhcpd.conf
DATA_FILES= dhclient.leases dhcpd.leases
-BIN_SUBDIR= bin
-SBIN_SUBDIR= sbin
-CONF_SUBDIR= etc
-SAMP_SUBDIR= ${CONF_SUBDIR}
-RCD_SUBDIR= etc/rc.d
-INC_SUBDIR= include
-LIB_SUBDIR= lib
-DOC_SUBDIR= share/doc/${PKGBASE}
-DATA_DIR= /var/db
+SAMP_SUFX= .sample
+
+CONF_DIR= ${PREFIX}/etc
+RC_DIR= ${PREFIX}/etc/rc.d
+DOCSDIR= ${PREFIX}/share/doc/${PKGBASE}
+DATADIR= /var/db
STRIP_CMD?= strip
-#
# Post-patch
#
-post-patch: patch-scripts patch-makefile-conf patch-makefiles-dist \
- patch-man-pages
+post-patch: patch-scripts patch-makefile-conf \
+ patch-makefiles-dist patch-man-pages \
+ patch-message
patch-scripts:
- @${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' \
+ @${PERL} -pi.fbsd -e 's|%%PREFIX%%|${PREFIX}|g' \
${WRKSRC}/client/scripts/freebsd
patch-makefile-conf:
- @${PERL} -pi.fbsd -e 's|^DEBUG[ ]*=|# DEBUG ?=|g' \
+ @${PERL} -pi.fbsd -e 's|^DEBUG[ \t]*=|# DEBUG ?=|g' \
${WRKSRC}/Makefile.conf
patch-makefiles-dist:
.for subdir in ${PATCH_SUBDIRS}
- @${PERL} -pi.fbsd -e 's|^CFLAGS[ ]*=|CFLAGS +=|g' \
+ @${PERL} -pi.fbsd -e 's|^CFLAGS[ \t]*=|CFLAGS +=|g' \
${WRKSRC}/${subdir}/Makefile.dist
.endfor
@@ -147,52 +140,70 @@ patch-makefiles-dist:
patch-man-pages:
@${PERL} -ni.fbsd -e '/^\.Fd$$/ or print;' ${WRKSRC}/dhcpctl/dhcpctl.3
-#
+patch-message:
+ @${SED} 's|%%PREFIX%%|${PREFIX}|g;s|%%MAN1PREFIX%%|${MAN1PREFIX}|g' \
+ ${MSG_FILE} > ${PKGMESSAGE}
+
# Post-install
#
post-install: strip-binary-files install-startup-files \
install-doc-files install-sample-files \
- create-data-files create-conf-files
+ create-conf-files create-data-files \
+ display-message
strip-binary-files:
.for file in ${BIN_FILES}
-.if exists(${PREFIX}/${BIN_SUBDIR}/${file})
- @${STRIP_CMD} ${PREFIX}/${BIN_SUBDIR}/${file}
+.if exists(${PREFIX}/bin/${file})
+ @${STRIP_CMD} ${PREFIX}/bin/${file}
+.endif
+.if exists(${PREFIX}/sbin/${file})
+ @${STRIP_CMD} ${PREFIX}/sbin/${file}
.endif
.endfor
install-startup-files:
-.for file in ${RCD_FILES}
- @${INSTALL_SCRIPT} ${FILESDIR}/${file} ${PREFIX}/${RCD_SUBDIR}
+.for file in ${RC_FILES}
+.if exists(${FILESDIR}/rc.${file}.conf${SAMP_SUFX})
+ @${INSTALL_DATA} ${FILESDIR}/rc.${file}.conf${SAMP_SUFX} ${CONF_DIR}
+.if !exists(${CONF_DIR}/rc.${file}.conf)
+ @${INSTALL_DATA} ${FILESDIR}/rc.${file}.conf${SAMP_SUFX} \
+ ${CONF_DIR}/rc.${file}.conf
+.endif
+.endif
+.if exists(${FILESDIR}/${file}.sh${SAMP_SUFX})
+ @${INSTALL_SCRIPT} ${FILESDIR}/${file}.sh${SAMP_SUFX} ${RC_DIR}
+.endif
.endfor
install-doc-files:
.if !defined(NOPORTDOCS)
- @${MKDIR} ${PREFIX}/${DOC_SUBDIR}
+ @${MKDIR} ${DOCSDIR}
.for file in ${DOC_FILES}
- @${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/${DOC_SUBDIR}
+ @${INSTALL_DATA} ${WRKSRC}/${file} ${DOCSDIR}
.endfor
.endif
install-sample-files:
.for file in ${SAMP_FILES}
- @${INSTALL_DATA} ${WRKSRC}/${file} \
- ${PREFIX}/${SAMP_SUBDIR}/${file:T}${SAMP_SUFFIX}
+ @${INSTALL_DATA} ${WRKSRC}/${file} ${CONF_DIR}/${file:T}${SAMP_SUFX}
.endfor
-create-data-files:
-.for file in ${DATA_FILES}
-.if !exists(${DATA_DIR}/${file})
- @${TOUCH} ${DATA_DIR}/${file}
+create-conf-files:
+.for file in ${CONF_FILES}
+.if !exists(${CONF_DIR}/${file})
+ @${TOUCH} ${CONF_DIR}/${file}
.endif
.endfor
-create-conf-files:
-.for file in ${CONF_FILES}
-.if !exists(${PREFIX}/${CONF_SUBDIR}/${file})
- @${TOUCH} ${PREFIX}/${CONF_SUBDIR}/${file}
+create-data-files:
+.for file in ${DATA_FILES}
+.if !exists(${DATADIR}/${file})
+ @${TOUCH} ${DATADIR}/${file}
.endif
.endfor
-.include <bsd.port.mk>
+display-message:
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.post.mk>
diff --git a/net/isc-dhcp31-server/distinfo b/net/isc-dhcp31-server/distinfo
index 7a2ecad54128..34ec582a835d 100644
--- a/net/isc-dhcp31-server/distinfo
+++ b/net/isc-dhcp31-server/distinfo
@@ -1 +1 @@
-MD5 (dhcp-3.0rc11.tar.gz) = 6b244e2bb056d423a49aca7b6bbeee91
+MD5 (dhcp-3.0.tar.gz) = 06e0247fe787d356ac00933633e1fe71
diff --git a/net/isc-dhcp31-server/files/isc-dhcpd.sh.sample b/net/isc-dhcp31-server/files/isc-dhcpd.sh.sample
index bd9f10dbc3fd..17472ab3bb71 100644
--- a/net/isc-dhcp31-server/files/isc-dhcpd.sh.sample
+++ b/net/isc-dhcp31-server/files/isc-dhcpd.sh.sample
@@ -1,32 +1,77 @@
#! /bin/sh
-
+#
# $FreeBSD$
+#
+# Start or stop isc-dhcpd.
+#
+
+rc_file=${0##*/}
+rc_arg=$1
+
+# override these variables in ${PREFIX}/etc/rc.isc-dhcpd.conf
+dhcpd_options= # command option(s)
+dhcpd_ifaces= # ethernet interface(s)
+
+if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/${rc_file}\$"); then
+ echo "${rc_file}: Cannot determine PREFIX." >&2
+ echo "Please use the complete pathname." >&2
+ exit 64
+fi
-OPTIONS=""
-IFACES=""
+rcconf_dir=${PREFIX}/etc
+rcconf_file=rc.${rc_file%.sh}.conf
+rcconf_path=${rcconf_dir}/${rcconf_file}
-if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
- echo "$0: Cannot determine the PREFIX" >&2
- exit 1
+if [ -f ${rcconf_path} ]; then
+ . ${rcconf_path}
fi
-case "$1" in
+program_dir=${PREFIX}/sbin
+program_file=dhcpd
+program_path=${program_dir}/${program_file}
+
+config_dir=${PREFIX}/etc
+config_file=${program_file}.conf
+config_path=${config_dir}/${config_file}
+
+pid_dir=/var/run
+pid_file=${program_file}.pid
+pid_path=${pid_dir}/${pid_file}
+
+syslog_facility=daemon.err
+
+case "$rc_arg" in
start)
- ${PREFIX}/sbin/dhcpd $OPTIONS $IFACES > /dev/null 2>&1
- echo -n ' dhcpd'
+ if [ ! -x ${program_path} ]; then
+ logger -sp ${syslog_facility} -t ${program_file} \
+ "unable to start: ${program_path} is missing."
+ exit 72
+ fi
+ if [ ! -f ${config_path} ]; then
+ logger -sp ${syslog_facility} -t ${program_file} \
+ "unable to start: ${config_path} is missing."
+ exit 72
+ fi
+ ${program_path} ${dhcpd_options} ${dhcpd_ifaces} &&
+ echo -n " ${program_file}"
;;
stop)
- killall dhcpd
+ if [ -r ${pid_path} ]; then
+ kill $(cat ${pid_path}) 2> /dev/null
+ else
+ killall ${program_file} 2> /dev/null
+ fi
;;
restart)
$0 stop
$0 start
;;
status)
- ps -auxww | egrep '(conserver|console)' | egrep -v "($0|egrep)"
+ ps -auxww | egrep ${program_file} | egrep -v "($0|egrep)"
;;
*)
- echo "usage: ${0##*/} {start|stop|restart|status}" >&2
+ echo "usage: ${rc_file} {start|stop|restart|status}" >&2
+ exit 64
;;
esac
diff --git a/net/isc-dhcp31-server/files/isc-dhcrelay.sh.sample b/net/isc-dhcp31-server/files/isc-dhcrelay.sh.sample
new file mode 100644
index 000000000000..de5f111d133c
--- /dev/null
+++ b/net/isc-dhcp31-server/files/isc-dhcrelay.sh.sample
@@ -0,0 +1,78 @@
+#! /bin/sh
+#
+# $FreeBSD$
+#
+# Start or stop isc-dhcrelay.
+#
+
+rc_file=${0##*/}
+rc_arg=$1
+
+# override these variables in ${PREFIX}/etc/rc.isc-dhcrelay.conf
+dhcrelay_options= # command option(s)
+dhcrelay_ifaces= # ethernet interface(s)
+dhcrelay_servers= # dhcpd server(s)
+
+if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/${rc_file}\$"); then
+ echo "${rc_file}: Cannot determine PREFIX." >&2
+ echo "Please use the complete pathname." >&2
+ exit 64
+fi
+
+rcconf_dir=${PREFIX}/etc
+rcconf_file=rc.${rc_file%.sh}.conf
+rcconf_path=${rcconf_dir}/${rcconf_file}
+
+if [ -f ${rcconf_path} ]; then
+ . ${rcconf_path}
+fi
+
+program_dir=${PREFIX}/sbin
+program_file=dhcrelay
+program_path=${program_dir}/${program_file}
+
+pid_dir=/var/run
+pid_file=${program_file}.pid
+pid_path=${pid_dir}/${pid_file}
+
+syslog_facility=daemon.err
+
+case "$rc_arg" in
+start)
+ if [ ! -x ${program_path} ]; then
+ logger -sp ${syslog_facility} -t ${program_file} \
+ "unable to start: ${program_path} is missing."
+ exit 72
+ fi
+ if [ -z "${dhcrelay_servers}" ]; then
+ logger -sp ${syslog_facility} -t ${program_file} \
+ "unable to start: no dhcpd server(s) configured."
+ exit 64
+ fi
+ ifaces=
+ for iface in ${dhcrelay_ifaces}; do
+ ifaces="$ifaces -i $iface"
+ done
+ ${program_path} ${dhcrelay_options} ${ifaces} ${dhcrelay_servers} &&
+ echo -n " ${program_file}"
+ ;;
+stop)
+ if [ -r ${pid_path} ]; then
+ kill $(cat ${pid_path}) 2> /dev/null
+ else
+ killall ${program_file} 2> /dev/null
+ fi
+ ;;
+restart)
+ $0 stop
+ $0 start
+ ;;
+status)
+ ps -auxww | egrep ${program_file} | egrep -v "($0|egrep)"
+ ;;
+*)
+ echo "usage: ${rc_file} {start|stop|restart|status}" >&2
+ ;;
+esac
+
+exit 0
diff --git a/net/isc-dhcp31-server/files/patch-freebsd b/net/isc-dhcp31-server/files/patch-freebsd
index 62fe0a127a40..287cea9a545b 100644
--- a/net/isc-dhcp31-server/files/patch-freebsd
+++ b/net/isc-dhcp31-server/files/patch-freebsd
@@ -6,8 +6,8 @@
exit_status=$1
- if [ -f /etc/dhclient-exit-hooks ]; then
- . /etc/dhclient-exit-hooks
-+ if [ -f !!PREFIX!!/etc/dhclient-exit-hooks ]; then
-+ . !!PREFIX!!/etc/dhclient-exit-hooks
++ if [ -f %%PREFIX%%/etc/dhclient-exit-hooks ]; then
++ . %%PREFIX%%/etc/dhclient-exit-hooks
fi
# probably should do something with exit status of the local script
exit $exit_status
@@ -15,10 +15,10 @@
# Invoke the local dhcp client enter hooks, if they exist.
-if [ -f /etc/dhclient-enter-hooks ]; then
-+if [ -f !!PREFIX!!/etc/dhclient-enter-hooks ]; then
++if [ -f %%PREFIX%%/etc/dhclient-enter-hooks ]; then
exit_status=0
- . /etc/dhclient-enter-hooks
-+ . !!PREFIX!!/etc/dhclient-enter-hooks
++ . %%PREFIX%%/etc/dhclient-enter-hooks
# allow the local script to abort processing of this state
# local script must set exit_status variable to nonzero.
if [ $exit_status -ne 0 ]; then
diff --git a/net/isc-dhcp31-server/files/patch-site.conf b/net/isc-dhcp31-server/files/patch-site.conf
index 5c14e470dcbc..65f79b6a7550 100644
--- a/net/isc-dhcp31-server/files/patch-site.conf
+++ b/net/isc-dhcp31-server/files/patch-site.conf
@@ -35,4 +35,4 @@
+CFLAGS += -D_PATH_DHCLIENT_CONF=\"$(ETC)/dhclient.conf\"
+CFLAGS += -D_PATH_DHCLIENT_SCRIPT=\"$(CLIENTBINDIR)/dhclient-script\"
+CFLAGS += -D_PATH_DHCLIENT_DB=\"$(VARDB)/dhclient.leases\"
-+CFLAGS += -D_PATH_DHCLIENT_PID=\"$(VARDB)/dhclient.pid\"
++CFLAGS += -D_PATH_DHCLIENT_PID=\"$(VARRUN)/dhclient.pid\"
diff --git a/net/isc-dhcp31-server/files/rc.isc-dhcpd.conf.sample b/net/isc-dhcp31-server/files/rc.isc-dhcpd.conf.sample
new file mode 100644
index 000000000000..edfe4bd7dc50
--- /dev/null
+++ b/net/isc-dhcp31-server/files/rc.isc-dhcpd.conf.sample
@@ -0,0 +1,7 @@
+# $FreeBSD$
+#
+# isc-dhcpd startup configuration file.
+#
+
+dhcpd_options= # command option(s)
+dhcpd_ifaces= # ethernet interface(s)
diff --git a/net/isc-dhcp31-server/files/rc.isc-dhcrelay.conf.sample b/net/isc-dhcp31-server/files/rc.isc-dhcrelay.conf.sample
new file mode 100644
index 000000000000..b647c62f6137
--- /dev/null
+++ b/net/isc-dhcp31-server/files/rc.isc-dhcrelay.conf.sample
@@ -0,0 +1,8 @@
+# $FreeBSD$
+#
+# isc-dhcrelay startup configuration file.
+#
+
+dhcrelay_options= # command option(s)
+dhcrelay_ifaces= # ethernet interface(s)
+dhcrelay_servers= # dhcpd server(s)
diff --git a/net/isc-dhcp31-server/pkg-plist b/net/isc-dhcp31-server/pkg-plist
index 14392593c635..b1007e83e30f 100644
--- a/net/isc-dhcp31-server/pkg-plist
+++ b/net/isc-dhcp31-server/pkg-plist
@@ -1,36 +1,44 @@
@comment $FreeBSD$
-%%SAMP_SUBDIR%%/dhclient.conf%%SAMP_SUFFIX%%
-%%SAMP_SUBDIR%%/dhcpd.conf%%SAMP_SUFFIX%%
-%%RCD_SUBDIR%%/isc-dhcpd.sh%%SAMP_SUFFIX%%
-%%INC_SUBDIR%%/dhcpctl.h
-%%INC_SUBDIR%%/isc-dhcp/boolean.h
-%%INC_SUBDIR%%/isc-dhcp/dst.h
-%%INC_SUBDIR%%/isc-dhcp/int.h
-%%INC_SUBDIR%%/isc-dhcp/lang.h
-%%INC_SUBDIR%%/isc-dhcp/list.h
-%%INC_SUBDIR%%/isc-dhcp/result.h
-%%INC_SUBDIR%%/isc-dhcp/types.h
-%%INC_SUBDIR%%/omapip/alloc.h
-%%INC_SUBDIR%%/omapip/buffer.h
-%%INC_SUBDIR%%/omapip/omapip.h
-%%LIB_SUBDIR%%/libdhcpctl.a
-%%LIB_SUBDIR%%/libomapi.a
-%%BIN_SUBDIR%%/omshell
-%%SBIN_SUBDIR%%/dhclient
-%%SBIN_SUBDIR%%/dhclient-script
-%%SBIN_SUBDIR%%/dhcpd
-%%SBIN_SUBDIR%%/dhcrelay
-%%PORTDOCS%%%%DOC_SUBDIR%%/CHANGES
-%%PORTDOCS%%%%DOC_SUBDIR%%/COPYRIGHT
-%%PORTDOCS%%%%DOC_SUBDIR%%/README
-%%PORTDOCS%%%%DOC_SUBDIR%%/RELNOTES
-@dirrm %%INC_SUBDIR%%/isc-dhcp
-@dirrm %%INC_SUBDIR%%/omapip
-%%PORTDOCS%%@dirrm %%DOC_SUBDIR%%
-@unexec rm -f %%RCD_SUBDIR%%/isc-dhcpd.sh
-@exec [ -f %%DATA_DIR%%/dhclient.leases ] || touch %%DATA_DIR%%/dhclient.leases
-@unexec [ -s %%DATA_DIR%%/dhclient.leases ] || rm -f %%DATA_DIR%%/dhclient.leases
-@exec [ -f %%DATA_DIR%%/dhcpd.leases ] || touch %%DATA_DIR%%/dhcpd.leases
-@unexec [ -s %%DATA_DIR%%/dhcpd.leases ] || rm -f %%DATA_DIR%%/dhcpd.leases
-@exec [ -f %D/%%CONF_SUBDIR%%/dhclient.conf ] || touch %D/%%CONF_SUBDIR%%/dhclient.conf
-@unexec [ -L %D/%%CONF_SUBDIR%%/dhclient.conf -o -s %D/%%CONF_SUBDIR%%/dhclient.conf ] || rm -f %D/%%CONF_SUBDIR%%/dhclient.conf
+bin/omshell
+etc/dhclient.conf.sample
+@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
+etc/dhcpd.conf.sample
+@unexec if cmp -s %D/etc/rc.isc-dhcpd.conf %D/etc/rc.isc-dhcpd.conf.sample; then rm -f %D/etc/rc.isc-dhcpd.conf; fi
+etc/rc.isc-dhcpd.conf.sample
+@exec [ -f %D/etc/rc.isc-dhcpd.conf ] || cp %D/etc/rc.isc-dhcpd.conf.sample %D/etc/rc.isc-dhcpd.conf
+@unexec if cmp -s %D/etc/rc.isc-dhcrelay.conf %D/etc/rc.isc-dhcrelay.conf.sample; then rm -f %D/etc/rc.isc-dhcrelay.conf; fi
+etc/rc.isc-dhcrelay.conf.sample
+@exec [ -f %D/etc/rc.isc-dhcrelay.conf ] || cp %D/etc/rc.isc-dhcrelay.conf.sample %D/etc/rc.isc-dhcrelay.conf
+etc/rc.d/isc-dhcpd.sh.sample
+@unexec rm -f etc/rc.d/isc-dhcpd.sh
+etc/rc.d/isc-dhcrelay.sh.sample
+@unexec rm -f etc/rc.d/isc-dhcrelay.sh
+include/dhcpctl.h
+include/isc-dhcp/boolean.h
+include/isc-dhcp/dst.h
+include/isc-dhcp/int.h
+include/isc-dhcp/lang.h
+include/isc-dhcp/list.h
+include/isc-dhcp/result.h
+include/isc-dhcp/types.h
+include/omapip/alloc.h
+include/omapip/buffer.h
+include/omapip/omapip.h
+lib/libdhcpctl.a
+lib/libomapi.a
+sbin/dhclient
+sbin/dhclient-script
+sbin/dhcpd
+sbin/dhcrelay
+%%PORTDOCS%%share/doc/isc-dhcp3/CHANGES
+%%PORTDOCS%%share/doc/isc-dhcp3/COPYRIGHT
+%%PORTDOCS%%share/doc/isc-dhcp3/README
+%%PORTDOCS%%share/doc/isc-dhcp3/RELNOTES
+%%PORTDOCS%%@dirrm share/doc/isc-dhcp3
+@dirrm include/omapip
+@dirrm include/isc-dhcp
+@exec [ -f /var/run/dhclient.leases ] || touch /var/run/dhclient.leases
+@unexec [ -s /var/run/dhclient.leases ] || rm -f /var/run/dhclient.leases
+@exec [ -f /var/run/dhcpd.leases ] || touch /var/run/dhcpd.leases
+@unexec [ -s /var/run/dhcpd.leases ] || rm -f /var/run/dhcpd.leases