diff options
author | roam <roam@FreeBSD.org> | 2001-10-15 21:33:15 +0800 |
---|---|---|
committer | roam <roam@FreeBSD.org> | 2001-10-15 21:33:15 +0800 |
commit | 482e3560e448d9339ee80f2cfb0e924e23e22255 (patch) | |
tree | c16b3a8991621e365a339dcd84e8f53dc6e28552 /net | |
parent | 4ba4be5dbf798daaad6ff9d0cd88e38b5aa7f86f (diff) | |
download | freebsd-ports-gnome-482e3560e448d9339ee80f2cfb0e924e23e22255.tar.gz freebsd-ports-gnome-482e3560e448d9339ee80f2cfb0e924e23e22255.tar.zst freebsd-ports-gnome-482e3560e448d9339ee80f2cfb0e924e23e22255.zip |
Update to 3.0 release.
A bit of general cleanup.
PR: 31058
Submitted by: maintainer
Diffstat (limited to 'net')
45 files changed, 1305 insertions, 520 deletions
diff --git a/net/isc-dhcp3-server/Makefile b/net/isc-dhcp3-server/Makefile index 4486a54bd5d4..61fbcee44f4b 100644 --- a/net/isc-dhcp3-server/Makefile +++ b/net/isc-dhcp3-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-dhcp3-server/distinfo b/net/isc-dhcp3-server/distinfo index 7a2ecad54128..34ec582a835d 100644 --- a/net/isc-dhcp3-server/distinfo +++ b/net/isc-dhcp3-server/distinfo @@ -1 +1 @@ -MD5 (dhcp-3.0rc11.tar.gz) = 6b244e2bb056d423a49aca7b6bbeee91 +MD5 (dhcp-3.0.tar.gz) = 06e0247fe787d356ac00933633e1fe71 diff --git a/net/isc-dhcp3-server/files/isc-dhcpd.sh.sample b/net/isc-dhcp3-server/files/isc-dhcpd.sh.sample index bd9f10dbc3fd..17472ab3bb71 100644 --- a/net/isc-dhcp3-server/files/isc-dhcpd.sh.sample +++ b/net/isc-dhcp3-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-dhcp3-server/files/isc-dhcrelay.sh.sample b/net/isc-dhcp3-server/files/isc-dhcrelay.sh.sample new file mode 100644 index 000000000000..de5f111d133c --- /dev/null +++ b/net/isc-dhcp3-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-dhcp3-server/files/patch-freebsd b/net/isc-dhcp3-server/files/patch-freebsd index 62fe0a127a40..287cea9a545b 100644 --- a/net/isc-dhcp3-server/files/patch-freebsd +++ b/net/isc-dhcp3-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-dhcp3-server/files/patch-site.conf b/net/isc-dhcp3-server/files/patch-site.conf index 5c14e470dcbc..65f79b6a7550 100644 --- a/net/isc-dhcp3-server/files/patch-site.conf +++ b/net/isc-dhcp3-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-dhcp3-server/files/rc.isc-dhcpd.conf.sample b/net/isc-dhcp3-server/files/rc.isc-dhcpd.conf.sample new file mode 100644 index 000000000000..edfe4bd7dc50 --- /dev/null +++ b/net/isc-dhcp3-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-dhcp3-server/files/rc.isc-dhcrelay.conf.sample b/net/isc-dhcp3-server/files/rc.isc-dhcrelay.conf.sample new file mode 100644 index 000000000000..b647c62f6137 --- /dev/null +++ b/net/isc-dhcp3-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-dhcp3-server/pkg-plist b/net/isc-dhcp3-server/pkg-plist index 14392593c635..b1007e83e30f 100644 --- a/net/isc-dhcp3-server/pkg-plist +++ b/net/isc-dhcp3-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 diff --git a/net/isc-dhcp3/Makefile b/net/isc-dhcp3/Makefile index 4486a54bd5d4..61fbcee44f4b 100644 --- a/net/isc-dhcp3/Makefile +++ b/net/isc-dhcp3/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-dhcp3/distinfo b/net/isc-dhcp3/distinfo index 7a2ecad54128..34ec582a835d 100644 --- a/net/isc-dhcp3/distinfo +++ b/net/isc-dhcp3/distinfo @@ -1 +1 @@ -MD5 (dhcp-3.0rc11.tar.gz) = 6b244e2bb056d423a49aca7b6bbeee91 +MD5 (dhcp-3.0.tar.gz) = 06e0247fe787d356ac00933633e1fe71 diff --git a/net/isc-dhcp3/files/isc-dhcpd.sh.sample b/net/isc-dhcp3/files/isc-dhcpd.sh.sample index bd9f10dbc3fd..17472ab3bb71 100644 --- a/net/isc-dhcp3/files/isc-dhcpd.sh.sample +++ b/net/isc-dhcp3/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-dhcp3/files/isc-dhcrelay.sh.sample b/net/isc-dhcp3/files/isc-dhcrelay.sh.sample new file mode 100644 index 000000000000..de5f111d133c --- /dev/null +++ b/net/isc-dhcp3/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-dhcp3/files/patch-freebsd b/net/isc-dhcp3/files/patch-freebsd index 62fe0a127a40..287cea9a545b 100644 --- a/net/isc-dhcp3/files/patch-freebsd +++ b/net/isc-dhcp3/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-dhcp3/files/patch-site.conf b/net/isc-dhcp3/files/patch-site.conf index 5c14e470dcbc..65f79b6a7550 100644 --- a/net/isc-dhcp3/files/patch-site.conf +++ b/net/isc-dhcp3/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-dhcp3/files/rc.isc-dhcpd.conf.sample b/net/isc-dhcp3/files/rc.isc-dhcpd.conf.sample new file mode 100644 index 000000000000..edfe4bd7dc50 --- /dev/null +++ b/net/isc-dhcp3/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-dhcp3/files/rc.isc-dhcrelay.conf.sample b/net/isc-dhcp3/files/rc.isc-dhcrelay.conf.sample new file mode 100644 index 000000000000..b647c62f6137 --- /dev/null +++ b/net/isc-dhcp3/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-dhcp3/pkg-plist b/net/isc-dhcp3/pkg-plist index 14392593c635..b1007e83e30f 100644 --- a/net/isc-dhcp3/pkg-plist +++ b/net/isc-dhcp3/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 diff --git a/net/isc-dhcp30-server/Makefile b/net/isc-dhcp30-server/Makefile index 4486a54bd5d4..61fbcee44f4b 100644 --- a/net/isc-dhcp30-server/Makefile +++ b/net/isc-dhcp30-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-dhcp30-server/distinfo b/net/isc-dhcp30-server/distinfo index 7a2ecad54128..34ec582a835d 100644 --- a/net/isc-dhcp30-server/distinfo +++ b/net/isc-dhcp30-server/distinfo @@ -1 +1 @@ -MD5 (dhcp-3.0rc11.tar.gz) = 6b244e2bb056d423a49aca7b6bbeee91 +MD5 (dhcp-3.0.tar.gz) = 06e0247fe787d356ac00933633e1fe71 diff --git a/net/isc-dhcp30-server/files/isc-dhcpd.sh.sample b/net/isc-dhcp30-server/files/isc-dhcpd.sh.sample index bd9f10dbc3fd..17472ab3bb71 100644 --- a/net/isc-dhcp30-server/files/isc-dhcpd.sh.sample +++ b/net/isc-dhcp30-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-dhcp30-server/files/isc-dhcrelay.sh.sample b/net/isc-dhcp30-server/files/isc-dhcrelay.sh.sample new file mode 100644 index 000000000000..de5f111d133c --- /dev/null +++ b/net/isc-dhcp30-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-dhcp30-server/files/patch-freebsd b/net/isc-dhcp30-server/files/patch-freebsd index 62fe0a127a40..287cea9a545b 100644 --- a/net/isc-dhcp30-server/files/patch-freebsd +++ b/net/isc-dhcp30-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-dhcp30-server/files/patch-site.conf b/net/isc-dhcp30-server/files/patch-site.conf index 5c14e470dcbc..65f79b6a7550 100644 --- a/net/isc-dhcp30-server/files/patch-site.conf +++ b/net/isc-dhcp30-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-dhcp30-server/files/rc.isc-dhcpd.conf.sample b/net/isc-dhcp30-server/files/rc.isc-dhcpd.conf.sample new file mode 100644 index 000000000000..edfe4bd7dc50 --- /dev/null +++ b/net/isc-dhcp30-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-dhcp30-server/files/rc.isc-dhcrelay.conf.sample b/net/isc-dhcp30-server/files/rc.isc-dhcrelay.conf.sample new file mode 100644 index 000000000000..b647c62f6137 --- /dev/null +++ b/net/isc-dhcp30-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-dhcp30-server/pkg-plist b/net/isc-dhcp30-server/pkg-plist index 14392593c635..b1007e83e30f 100644 --- a/net/isc-dhcp30-server/pkg-plist +++ b/net/isc-dhcp30-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 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 diff --git a/net/isc-dhcp40-server/Makefile b/net/isc-dhcp40-server/Makefile index 4486a54bd5d4..61fbcee44f4b 100644 --- a/net/isc-dhcp40-server/Makefile +++ b/net/isc-dhcp40-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-dhcp40-server/distinfo b/net/isc-dhcp40-server/distinfo index 7a2ecad54128..34ec582a835d 100644 --- a/net/isc-dhcp40-server/distinfo +++ b/net/isc-dhcp40-server/distinfo @@ -1 +1 @@ -MD5 (dhcp-3.0rc11.tar.gz) = 6b244e2bb056d423a49aca7b6bbeee91 +MD5 (dhcp-3.0.tar.gz) = 06e0247fe787d356ac00933633e1fe71 diff --git a/net/isc-dhcp40-server/files/isc-dhcpd.sh.sample b/net/isc-dhcp40-server/files/isc-dhcpd.sh.sample index bd9f10dbc3fd..17472ab3bb71 100644 --- a/net/isc-dhcp40-server/files/isc-dhcpd.sh.sample +++ b/net/isc-dhcp40-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-dhcp40-server/files/isc-dhcrelay.sh.sample b/net/isc-dhcp40-server/files/isc-dhcrelay.sh.sample new file mode 100644 index 000000000000..de5f111d133c --- /dev/null +++ b/net/isc-dhcp40-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-dhcp40-server/files/patch-freebsd b/net/isc-dhcp40-server/files/patch-freebsd index 62fe0a127a40..287cea9a545b 100644 --- a/net/isc-dhcp40-server/files/patch-freebsd +++ b/net/isc-dhcp40-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-dhcp40-server/files/patch-site.conf b/net/isc-dhcp40-server/files/patch-site.conf index 5c14e470dcbc..65f79b6a7550 100644 --- a/net/isc-dhcp40-server/files/patch-site.conf +++ b/net/isc-dhcp40-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-dhcp40-server/files/rc.isc-dhcpd.conf.sample b/net/isc-dhcp40-server/files/rc.isc-dhcpd.conf.sample new file mode 100644 index 000000000000..edfe4bd7dc50 --- /dev/null +++ b/net/isc-dhcp40-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-dhcp40-server/files/rc.isc-dhcrelay.conf.sample b/net/isc-dhcp40-server/files/rc.isc-dhcrelay.conf.sample new file mode 100644 index 000000000000..b647c62f6137 --- /dev/null +++ b/net/isc-dhcp40-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-dhcp40-server/pkg-plist b/net/isc-dhcp40-server/pkg-plist index 14392593c635..b1007e83e30f 100644 --- a/net/isc-dhcp40-server/pkg-plist +++ b/net/isc-dhcp40-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 |