Bug 183888

Summary: [MAINTAINER] dns/nsd: update to 4.0.0
Product: Ports & Packages Reporter: Jaap Akkerhuis <jaap>
Component: Individual Port(s)Assignee: Erwin Lansing <erwin>
Status: Closed FIXED    
Severity: Affects Only Me CC: erwin
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
nsd-4.0.0.patch none

Description Jaap Akkerhuis 2013-11-12 11:10:00 UTC
- Update to 4.0.0

This is a major update from nsd to version 4.0.0. Given that the
previous version (nsd-3.2.16) is not EOL yet, we want to create a
port called nsd3 to give people a slow upgrade path in case they
don't want to take the plunge immediately.

This version replaces the nsdc control program with nsd-control. 
This requires some manual setup with nsd-control-setup and editing
of the config files.  nsd-control is incompatible with nsdc so when 
that is used in scripts, these should be adapted.

For the nsd3 port one should first do something like

(1) svn -r 333555 cp nsd nsd3
(2) Add a port suffice to the Makefile as in:
 
diff -r nsdxxx/Makefile nsd3/Makefile
8a9
> PKGNAMESUFFIX=        3

svn ci etc. to create the nsd3 port.
 
There should be some mentioning in /usr/ports/UPDATING about nsd3 
and the nsdc change.

There should be some mentioning in /usr/ports/UPDATING about nsd3
and the nsdc change and probably an advice to read the NSD-4-features
document.  The patch below will update nsd to the newest version.

Enjoy!

Generated with FreeBSD Port Tools 0.99_8 (mode: update, diff: suffix)
Comment 1 Erwin Lansing freebsd_committer freebsd_triage 2013-11-12 12:20:15 UTC
Responsible Changed
From-To: freebsd-ports-bugs->erwin

I'll take it.
Comment 2 dfilter service freebsd_committer freebsd_triage 2013-11-12 13:24:54 UTC
Author: erwin
Date: Tue Nov 12 13:24:45 2013
New Revision: 333569
URL: http://svnweb.freebsd.org/changeset/ports/333569

Log:
  Please welcome NSD 4.0.0
  
  For all new features, see
  http://www.nlnetlabs.nl/svn/nsd/tags/NSD_4_0_0_REL/doc/NSD-4-features
  
  This version replaces the nsdc control program with nsd-control.
  This requires some manual setup with nsd-control-setup and editing
  of the config files. nsd-control is incompatible with nsdc so when
  that is used in scripts, these should be adapted.
  
  NSD 3 is still supported as dns/nsd3.
  
  PR:		183888
  Submitted by:	Jaap Akkerhuis <jaap@NLnetLabs.nl>

Added:
  head/dns/nsd3/
     - copied from r333566, head/dns/nsd/
Modified:
  head/UPDATING
  head/dns/Makefile
  head/dns/nsd/Makefile
  head/dns/nsd/distinfo
  head/dns/nsd/files/nsd.in
  head/dns/nsd/pkg-message
  head/dns/nsd/pkg-plist
  head/dns/nsd3/Makefile

Modified: head/UPDATING
==============================================================================
--- head/UPDATING	Tue Nov 12 13:23:14 2013	(r333568)
+++ head/UPDATING	Tue Nov 12 13:24:45 2013	(r333569)
@@ -6,6 +6,26 @@ You should get into the habit of checkin
 you update your ports collection, before attempting any port upgrades.
 
 20131112:
+  AFFECTS: users of dns/nsd
+  AUTHOR: erwin@FreeBSD.org
+
+  dns/nsd was updated to the new 4.0.0 major release.
+
+  This version replaces the nsdc control program with nsd-control. 
+  This requires some manual setup with nsd-control-setup and editing
+  of the config files. nsd-control is incompatible with nsdc so when 
+  that is used in scripts, these should be adapted.  More information:
+  http://www.nlnetlabs.nl/svn/nsd/tags/NSD_4_0_0_REL/doc/NSD-4-features
+
+  NSD version 3 is still supported in dns/nsd3.  To keep the old
+  version:
+  # portmaster -o dns/nsd3 dns/nsd
+    or
+  # portupgrade -fo dns/nsd3 dns/nsd
+    or
+  # pkg set -o dns/nsd:dns/nsd3
+
+20131112:
   AFFECTS: users of dns/bind9*
   AUTHOR: erwin@FreeBSD.org
 

Modified: head/dns/Makefile
==============================================================================
--- head/dns/Makefile	Tue Nov 12 13:23:14 2013	(r333568)
+++ head/dns/Makefile	Tue Nov 12 13:24:45 2013	(r333569)
@@ -75,6 +75,7 @@
     SUBDIR += mydns-ng
     SUBDIR += noip
     SUBDIR += nsd
+    SUBDIR += nsd3
     SUBDIR += nslint
     SUBDIR += nsping
     SUBDIR += nss_mdns

Modified: head/dns/nsd/Makefile
==============================================================================
--- head/dns/nsd/Makefile	Tue Nov 12 13:23:14 2013	(r333568)
+++ head/dns/nsd/Makefile	Tue Nov 12 13:24:45 2013	(r333569)
@@ -2,15 +2,15 @@
 # $FreeBSD$
 
 PORTNAME=	nsd
-PORTVERSION=	3.2.16
+PORTVERSION=	4.0.0
 CATEGORIES=	dns ipv6
 MASTER_SITES=	http://www.nlnetlabs.nl/downloads/nsd/	\
 		ftp://ftp.rhnet.is/pub/nsd/
 
 MAINTAINER=	jaap@NLnetLabs.nl
-COMMENT=	Authoritative only non-recursive name server
+COMMENT=	An authoritative only non-recursive name server
 
-CONFLICTS=	nsd-[0-2]*
+CONFLICTS=	nsd-[0-]* nsd3-*
 
 USE_RC_SUBR=	nsd
 
@@ -22,7 +22,8 @@ NSDRUNDIR=	/var/run/nsd
 NSDMAX_IPS?=	512
 
 GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--with-user=${NSDUSER} \
+CONFIGURE_ARGS=	--with-libevent=${LOCALBASE} \
+		--with-user=${NSDUSER} \
 		--with-configdir=${PREFIX}/etc/nsd \
 		--localstatedir=${NSDLSDIR} \
 		--with-dbfile=${NSDDBDIR}/nsd.db \
@@ -36,23 +37,22 @@ SUB_LIST+=	NSDUSER=${NSDUSER} \
 
 USE_OPENSSL=	yes
 
-MAN5=	nsd.conf.5
-MAN8=	nsd.8 nsdc.8 zonec.8 nsd-checkconf.8 nsd-notify.8 nsd-patch.8 \
-	nsd-xfer.8
+MAN5=		nsd.conf.5
+MAN8=		nsd.8 nsd-checkconf.8 nsd-control.8
 
 PORTDOCS=	CREDITS ChangeLog LICENSE NSD-DATABASE NSD-DIFFFILE \
-		NSD-FOR-BIND-USERS README README.icc RELNOTES \
+		NSD-4-features NSD-FOR-BIND-USERS README README.icc RELNOTES \
 		REQUIREMENTS TESTPLAN TODO UPGRADING coding-style \
 		differences.tex
 
-OPTIONS_DEFINE=	ROOT_SERVER LARGEFILE IPV6 BIND8_STATS ZONE_STATS CHECKING \
-		MINRESPSIZE NSEC3 NSEC3PREHASH MMAP MAXIPS DOCS RRL EUI_RRTYPES
-OPTIONS_DEFAULT=	LARGEFILE IPV6 NSEC3 NSEC3PREHASH MINRESPSIZE
+OPTIONS_DEFINE=		ROOT_SERVER LARGEFILE IPV6 BIND8_STATS CHECKING \
+		MINRESPSIZE NSEC3 NSEC3PREHASH MMAP MAXIPS DOCS EUI_RRTYPES
+OPTIONS_DEFAULT=	LARGEFILE IPV6 NSEC3 NSEC3PREHASH MINRESPSIZE RRL \
+		 EUI_RRTYPES
 
 ROOT_SERVER_DESC=	Configure as a root server
 LARGEFILE_DESC=		Largefile support
 BIND8_STATS_DESC=	BIND8-like NSTATS & XSTATS
-ZONE_STATS_DESC=	Per-zone BIND8 stats
 CHECKING_DESC=		Internal run-time checks
 NSEC3_DESC=		NSEC3 support
 NSEC3PREHASH_DESC=	Full NSEC3 pre-hashing
@@ -62,9 +62,11 @@ MAXIPS_DESC=		Raise max-ips from 8 to ${
 RRL_DESC=		Response Rate Limiting
 EUI_RRTYPES_DESC=	EUI48 and EUI64 RRtypes support
 
-NO_STAGE=	yes
+NO_STAGE=		yes
 .include <bsd.port.options.mk>
 
+LIB_DEPENDS+=	event-1:${PORTSDIR}/devel/libevent
+
 .if ${PORT_OPTIONS:MROOT_SERVER}
 CONFIGURE_ARGS+=	--enable-root-server
 .endif
@@ -81,13 +83,6 @@ CONFIGURE_ARGS+=	--disable-ipv6
 CONFIGURE_ARGS+=	--enable-bind8-stats
 .endif
 
-.if ${PORT_OPTIONS:MZONE_STATS}
-.	if empty(PORT_OPTIONS:MBIND8_STATS)
-CONFIGURE_ARGS+=	--enable-bind8-stats
-.	endif
-CONFIGURE_ARGS+=	--enable-zone-stats
-.endif
-
 .if ${PORT_OPTIONS:MCHECKING}
 CONFIGURE_ARGS+=	--enable-checking
 .endif

Modified: head/dns/nsd/distinfo
==============================================================================
--- head/dns/nsd/distinfo	Tue Nov 12 13:23:14 2013	(r333568)
+++ head/dns/nsd/distinfo	Tue Nov 12 13:24:45 2013	(r333569)
@@ -1,2 +1,2 @@
-SHA256 (nsd-3.2.16.tar.gz) = 15a5fd69ea80345eefced83a58b40e8f262a06ac4f7f83606d33033b167d6604
-SIZE (nsd-3.2.16.tar.gz) = 917815
+SHA256 (nsd-4.0.0.tar.gz) = 62608a409d0f68c9d8d4595031b9de9130ac02efe39733be5dee40d5a90e991c
+SIZE (nsd-4.0.0.tar.gz) = 1035710

Modified: head/dns/nsd/files/nsd.in
==============================================================================
--- head/dns/nsd/files/nsd.in	Tue Nov 12 13:23:14 2013	(r333568)
+++ head/dns/nsd/files/nsd.in	Tue Nov 12 13:24:45 2013	(r333569)
@@ -14,71 +14,34 @@
 
 . /etc/rc.subr
 
-case $0 in
-/etc/rc*)
-	# during boot (shutdown) $0 is /etc/rc (/etc/rc.shutdown),
-	# so get the name of the script from $_file
-	name=$_file
-	;;
-*)
-	name=$0
-	;;
-esac
-
-name=${name##*/}
-
+name=nsd
 rcvar=${name}_enable
 
-load_rc_config ${name}
-
-eval ": \${${name}_conf:=\"%%PREFIX%%/etc/nsd/${name}.conf\"}"
-eval "_conf=\${${name}_conf}"
-
-command=%%PREFIX%%/sbin/nsdc
-procname=%%PREFIX%%/sbin/nsd
+required_files=%%PREFIX%%/etc/nsd/nsd.conf
 
-required_files=${_conf}
-pidfile=`%%PREFIX%%/sbin/nsd-checkconf -o pidfile ${_conf}`
+command=%%PREFIX%%/sbin/nsd-control
+command_args="start"
+pidfile=`%%PREFIX%%/sbin/nsd-checkconf -o pidfile %%PREFIX%%/etc/nsd/nsd.conf`
+procname=%%PREFIX%%/sbin/${name}
 
-extra_commands="notify patch rebuild reload update"
-
-notify_cmd="nsd_nsdc_cmd notify"
-patch_cmd="nsd_nsdc_cmd patch"
-rebuild_cmd="nsd_nsdc_cmd rebuild"
-reload_cmd="nsd_reload_cmd"
-start_cmd="nsd_start_cmd"
-stop_cmd="nsd_stop_cmd"
-update_cmd="nsd_nsdc_cmd update"
+load_rc_config ${name}
 
-nsd_nsdc_cmd()
-{
-	${command} -c ${_conf} "$1"
-}
+nsd_enable=${nsd_enable-"NO"}
 
-nsd_reload_cmd()
-{
-	nsd_nsdc_cmd rebuild && nsd_nsdc_cmd reload
-}
+extra_commands="reload"
+reload_cmd="${name}_reload"
+stop_cmd="${name}_stop"
 
-nsd_start_cmd()
+nsd_reload()
 {
-	local _db
-	_db=`%%PREFIX%%/sbin/nsd-checkconf -o database ${_conf}`
-	if [ ! -f "${_db}" ]; then
-		nsd_nsdc_cmd rebuild
-	fi
-
-	echo "Starting ${name}."
-	nsd_nsdc_cmd start
+	echo "Reloading ${name}."
+	kill -HUP `cat $pidfile`
 }
 
-nsd_stop_cmd()
+nsd_stop()
 {
-	echo "Merging nsd zone transfer changes to zone files."
-	nsd_nsdc_cmd patch
-
 	echo "Stopping ${name}."
-	nsd_nsdc_cmd stop	
+	kill -TERM `cat $pidfile`
 }
 
 run_rc_command "$1"

Modified: head/dns/nsd/pkg-message
==============================================================================
--- head/dns/nsd/pkg-message	Tue Nov 12 13:23:14 2013	(r333568)
+++ head/dns/nsd/pkg-message	Tue Nov 12 13:24:45 2013	(r333569)
@@ -1,9 +1,12 @@
 **************************************************************************
-*                                                                        *
-*   To run nsd from startup, add nsd_enable="YES" to your /etc/rc.conf   *
-*                                                                        *
-*   Take good care when using nsd commands, since they often need to     *
-*   be executed as user dedicated to nsd, in order for the files it      *
-*   touches or creates to have the proper permissions.                   *
-*                                                                        *
+*
+*   To run nsd from startup, add nsd_enable="YES" to your /etc/rc.conf
+*
+*   Starting with nsd version 4 the old nsdc control program has been
+*   replaced by nsd-control. This requires some manual setup with
+*   nsd-control-setup and editing of the config files. 
+*
+*   nsd-control is incompatible with nsdc so when that is used in scripts,
+*   these should be adapted
+*
 **************************************************************************

Modified: head/dns/nsd/pkg-plist
==============================================================================
--- head/dns/nsd/pkg-plist	Tue Nov 12 13:23:14 2013	(r333568)
+++ head/dns/nsd/pkg-plist	Tue Nov 12 13:24:45 2013	(r333569)
@@ -1,9 +1,6 @@
 %%ETCDIR%%/nsd.conf.sample
 sbin/nsd
 sbin/nsd-checkconf
-sbin/nsd-notify
-sbin/nsd-patch
-sbin/nsd-xfer
-sbin/nsdc
-sbin/zonec
+sbin/nsd-control
+sbin/nsd-control-setup
 @dirrmtry %%ETCDIR%%

Modified: head/dns/nsd3/Makefile
==============================================================================
--- head/dns/nsd/Makefile	Tue Nov 12 11:40:54 2013	(r333566)
+++ head/dns/nsd3/Makefile	Tue Nov 12 13:24:45 2013	(r333569)
@@ -6,11 +6,12 @@ PORTVERSION=	3.2.16
 CATEGORIES=	dns ipv6
 MASTER_SITES=	http://www.nlnetlabs.nl/downloads/nsd/	\
 		ftp://ftp.rhnet.is/pub/nsd/
+PKGNAMESUFFIX=	3
 
 MAINTAINER=	jaap@NLnetLabs.nl
 COMMENT=	Authoritative only non-recursive name server
 
-CONFLICTS=	nsd-[0-2]*
+CONFLICTS=	nsd-[0-2]* nsd-4*
 
 USE_RC_SUBR=	nsd
 
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 3 Erwin Lansing freebsd_committer freebsd_triage 2013-11-12 13:25:06 UTC
State Changed
From-To: open->closed

Committed with minor modifications.  Thanks!