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