ports/176334: Fix port: sysutils/boxbackup rc script and OPTIONSng

Chris Rees crees at FreeBSD.org
Thu Feb 21 20:10:01 UTC 2013


>Number:         176334
>Category:       ports
>Synopsis:       Fix port: sysutils/boxbackup rc script and OPTIONSng
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Feb 21 20:10:01 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Chris Rees
>Release:        FreeBSD 9.1-RELEASE amd64
>Organization:
>Environment:
System: FreeBSD pegasus.bayofrum.net 9.1-RELEASE FreeBSD 9.1-RELEASE #1 r246341: Tue Feb 5 21:09:44 GMT 2013 root at pegasus.bayofrum.net:/usr/obj/usr/src/sys/PEGASUS amd64


	
>Description:
	- Update to OPTIONSng
	- Use standard framework for pkg-message substitution

	I see that you register CONFLICTS on client and server ports, but are you aware that it's impossible to install two different ports from the same origin (ports directory)?

	I might suggest that you create slave ports instead, perhaps boxbackup-client and boxbackup-server for this use, and that way both can be installed separately (a la database ports, for example).  Would you be interested in code for this?
>How-To-Repeat:
	
>Fix:

	

--- boxbackup-fixes.diff begins here ---
Index: Makefile
===================================================================
--- Makefile	(revision 312734)
+++ Makefile	(working copy)
@@ -26,27 +26,29 @@
 
 CONFIGURE_ARGS+=--sysconfdir=${PREFIX}/etc
 
-PKGMESSAGE=	${WRKDIR}/pkg-message
+SUB_FILES=	pkg-message
 
-OPTIONS=	CLIENT "Install the bbackupd client" On \
-		SERVER "Install the bbstored server" On \
-		GNUREADLINE "Enable the use of GNU readline" Off
+OPTIONS_DEFINE=	READLINE
 
-.include <bsd.port.pre.mk>
+OPTIONS_MULTI=	FLAVOUR
+OPTIONS_MULTI_FLAVOUR=	CLIENT SERVER
 
-.if defined(WITH_GNUREADLINE)
+CLIENT_DESC=	Install the bbackupd client
+SERVER_DESC=	Install the bbstored server
+
+OPTIONS_DEFAULT=CLIENT SERVER
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MREADLINE}
 CONFIGURE_ARGS+=--enable-gnu-readline
 .endif
 
-.if defined(WITHOUT_CLIENT) && defined(WITHOUT_SERVER)
-IGNORE=		requires at least CLIENT or SERVER to be defined.\
-		Please 'make config' again
-.endif
-
 MANCOMPRESSED=	yes
-.if defined(WITH_CLIENT)
+.if ${PORT_OPTIONS:MCLIENT}
 USE_RC_SUBR+=	bbackupd
 PLIST_SUB+=	CLIENT=""
+SUB_LIST+=	CLIENT=""
 ALL_TARGET+=	build-backup-client
 INSTALL_TARGET+=install-backup-client
 MAN5+=		bbackupd.conf.5
@@ -54,26 +56,29 @@
 SUB_FILES+=	999.boxbackup
 .else
 PLIST_SUB+=	CLIENT="@comment "
+SUB_LIST+=	CLIENT="@comment "
 .endif
 
-.if defined(WITH_SERVER)
+.if ${PORT_OPTIONS:MSERVER}
 USE_RC_SUBR+=	bbstored
 USERS+=		_bbstored
 GROUPS+=	_bbstored
 PLIST_SUB+=	SERVER=""
+SUB_LIST+=	SERVER=""
 ALL_TARGET+=	build-backup-server
 INSTALL_TARGET+=install-backup-server
 MAN5+=		bbstored.conf.5 raidfile.conf.5
 MAN8+=		bbstored.8 bbstoreaccounts.8 bbstored-certs.8 bbstored-config.8 raidfile-config.8
 .else
 PLIST_SUB+=	SERVER="@comment "
+SUB_LIST+=	SERVER="@comment "
 .endif
 
-.if defined(WITHOUT_CLIENT)
+.if ! ${PORT_OPTIONS:MCLIENT}
 # if this is a server-only install, CONFLICT with an install of the CLIENT or both
 CONFLICTS=	boxbackup-client-[0-9]* boxbackup-[0-9]*
 CLIENT_OR_SERVER=-server
-.elif defined(WITHOUT_SERVER)
+.elif ! ${PORT_OPTIONS:MSERVER}
 # if this is a client-only install, CONFLICT with an install of the SERVER or both
 CONFLICTS=	boxbackup-server-[0-9]* boxbackup-[0-9]*
 CLIENT_OR_SERVER=-client
@@ -85,24 +90,18 @@
 
 post-patch:
 	@${REINPLACE_CMD} -e '/html/d' ${WRKSRC}/parcels.txt
-.if !defined(WITHOUT_CLIENT)
-	@${CAT} ${FILESDIR}/pkg-message.client >> ${PKGMESSAGE}
-.endif
-.if !defined(WITHOUT_SERVER)
-	@${SED} -e 's,%%PREFIX%%,${PREFIX},g' \
-	  ${FILESDIR}/pkg-message.server.in >> ${PKGMESSAGE}
-.endif
 
 post-configure:
-	@${REINPLACE_CMD} -e '/share.doc.boxbackup/d' ${WRKSRC}/parcels/scripts/install-backup-*
+	@${REINPLACE_CMD} -e '/share.doc.boxbackup/d' \
+		${WRKSRC}/parcels/scripts/install-backup-*
 
 post-install:
-.if !defined(WITHOUT_CLIENT)
+.if ${PORT_OPTIONS:MCLIENT}
 	@${MKDIR} -m 0700 ${PREFIX}/etc/boxbackup/bbackupd
 	@${MKDIR} ${PREFIX}/etc/periodic/monthly
 	${INSTALL_SCRIPT} ${WRKDIR}/999.boxbackup ${PREFIX}/etc/periodic/monthly
 .endif
-.if !defined(WITHOUT_SERVER)
+.if ${PORT_OPTIONS:MSERVER}
 	@${MKDIR} -m 0700 ${PREFIX}/etc/boxbackup/bbstored
 .endif
 	@${CAT} ${PKGMESSAGE}
@@ -111,4 +110,4 @@
 	 @${ECHO_CMD} "===> Running tests"
 	 @${MAKE} -C ${WRKSRC} test
 
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
Index: files/bbstored.in
===================================================================
--- files/bbstored.in	(revision 312734)
+++ files/bbstored.in	(working copy)
@@ -18,7 +18,7 @@
 load_rc_config $name
 
 : ${bbstored_enable:="NO"}
-: ${bbstored_flags:="%%PREFIX%%/etc/boxbackup/bbstored.conf"}
+: ${bbstored_flags:="%%ETCDIR%%/bbstored.conf"}
 
 pidfile=${bbstored_pidfile:-"/var/run/bbstored.pid"}
 
Index: files/pkg-message.client
===================================================================
--- files/pkg-message.client	(revision 312734)
+++ files/pkg-message.client	(working copy)
@@ -1,4 +0,0 @@
-
-To run bbackupd at startup, add bbackupd_enable="YES" to /etc/rc.conf
-Please see http://www.boxbackup.org/client.html for client configuration
-options
Index: files/pkg-message.in
===================================================================
--- files/pkg-message.in	(working copy)
+++ files/pkg-message.in	(working copy)
@@ -1,8 +1,13 @@
+%%SERVER%%
+%%SERVER%%To run bbstored at startup, add bbstored_enable="YES" to /etc/rc.conf
+%%SERVER%%Please see http://www.boxbackup.org/server.html for server
+%%SERVER%%configuration options
+%%SERVER%%
+%%SERVER%%The default location of configuration files changed from
+%%SERVER%%%%PREFIX%%/etc/box to %%ETCDIR%%, if you are upgrading then run 
+%%SERVER%%  mv %%PREFIX%%/etc/box %%ETCDIR%%
+%%CLIENT%%
+%%CLIENT%%To run bbackupd at startup, add bbackupd_enable="YES" to /etc/rc.conf
+%%CLIENT%%Please see http://www.boxbackup.org/client.html for client
+%%CLIENT%%configuration options
 
-To run bbstored at startup, add bbstored_enable="YES" to /etc/rc.conf
-Please see http://www.boxbackup.org/server.html for server configuration
-options
-
-The default location of configuration files changed from %%PREFIX%%/etc/box to
-%%PREFIX%%/etc/boxbackup, if you are upgrading then run 
-  mv %%PREFIX%%/etc/box %%PREFIX%%/etc/boxbackup
Index: files/pkg-message.server.in
===================================================================
--- files/pkg-message.server.in	(revision 312734)
+++ files/pkg-message.server.in	(working copy)
@@ -1,8 +0,0 @@
-
-To run bbstored at startup, add bbstored_enable="YES" to /etc/rc.conf
-Please see http://www.boxbackup.org/server.html for server configuration
-options
-
-The default location of configuration files changed from %%PREFIX%%/etc/box to
-%%PREFIX%%/etc/boxbackup, if you are upgrading then run 
-  mv %%PREFIX%%/etc/box %%PREFIX%%/etc/boxbackup
--- boxbackup-fixes.diff ends here ---



-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

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


More information about the freebsd-ports-bugs mailing list