ports/180030: add the OPTIONS{,_}FILE rename to config-conditional.

Mathieu Arnold mat at FreeBSD.org
Thu Jun 27 15:20:00 UTC 2013


>Number:         180030
>Category:       ports
>Synopsis:       add the OPTIONS{,_}FILE rename to config-conditional.
>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 Jun 27 15:20:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Mathieu Arnold
>Release:        FreeBSD 9.1-RELEASE i386
>Organization:
>Environment:
System: FreeBSD aragorn.in.absolight.net 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243826: Tue Dec 4 06:55:39 UTC 2012 root at obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386

>Description:
Right now, OPTIONSFILE gets renamed to OPTIONS_FILE only in do-config, add the
renmaing to config-conditional so that it gets done for most ports more
quickly.
>How-To-Repeat:
>Fix:

--- bsd.port.mk.diff begins here ---
Index: Mk/bsd.port.mk
===================================================================
--- Mk/bsd.port.mk	(revision 321894)
+++ Mk/bsd.port.mk	(working copy)
@@ -6180,6 +6180,22 @@
 
 .if !target(config-conditional)
 config-conditional:
+.if ${UID} != 0 && !defined(INSTALL_AS_USER)
+	@optionsdir=${OPTIONS_FILE}; optionsdir=$${optionsdir%/*}; \
+	oldoptionsdir=${OPTIONSFILE}; oldoptionsdir=$${oldoptionsdir%/*}; \
+	${ECHO_MSG} "===>  Switching to root credentials to create $${optionsdir}"; \
+	(${SU_CMD} "${SH} -c \"if [ -d $${oldoptionsdir} -a ! -d $${optionsdir} ]; then ${MV} $${oldoptionsdir} $${optionsdir}; elif [ -d $${oldoptionsdir} -a -d $${optionsdir} ]; then ${RM} -rf $${oldoptionsdir} ; fi 2> /dev/null\"") || \
+		(${ECHO_MSG} "===> Cannot create $${optionsdir}, check permissions"; exit 1); \
+	${ECHO_MSG} "===>  Returning to user credentials"
+.else
+	@(optionsdir=${OPTIONS_FILE}; optionsdir=$${optionsdir%/*}; \
+	oldoptionsdir=${OPTIONSFILE}; oldoptionsdir=$${oldoptionsdir%/*}; \
+	if [ -d $${oldoptionsdir} -a ! -d $${optionsdir} ]; then \
+		${MV} $${oldoptionsdir} $${optionsdir}; \
+	elif [ -d $${oldoptionsdir} -a -d $${optionsdir} ]; then \
+		${RM} -rf $${oldoptionsdir} ; \
+	fi)
+.endif
 .if !empty(NEW_OPTIONS)
 	@cd ${.CURDIR} && ${MAKE} config;
 .endif
--- bsd.port.mk.diff ends here ---


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


More information about the freebsd-ports-bugs mailing list