svn commit: r352918 - head/Mk
Bryan Drewery
bdrewery at FreeBSD.org
Sat May 3 15:11:02 UTC 2014
Author: bdrewery
Date: Sat May 3 15:11:01 2014
New Revision: 352918
URL: http://svnweb.freebsd.org/changeset/ports/352918
QAT: https://qat.redports.org/buildarchive/r352918/
Log:
- Fix WITH_CCACHE_BUILD support (fix build) with ports that use
HOME=/dev/null to avoid staging violations. This will force
CCACHE_DIR=/root/.ccache when running as root, and otherwise
will force CCACHE_DIR to be manually set.
With hat: portmgr
PR: ports/186410 [textproc/xmlto build]
Reported by: mandree, Rainer Duffner <rainer at ultra-secure.de>
MFH: 2014Q2
Modified:
head/Mk/bsd.port.mk
Modified: head/Mk/bsd.port.mk
==============================================================================
--- head/Mk/bsd.port.mk Sat May 3 14:55:30 2014 (r352917)
+++ head/Mk/bsd.port.mk Sat May 3 15:11:01 2014 (r352918)
@@ -2125,6 +2125,19 @@ BUILD_FAIL_MESSAGE+= Try to set MAKE_JOB
.endif
# ccache support
+
+# Try to set a default CCACHE_DIR to workaround HOME=/dev/null and
+# HOME=${WRKDIR}/* staging fixes
+.if defined(WITH_CCACHE_BUILD) && !defined(CCACHE_DIR) && \
+ (!defined(HOME) || ${HOME} == /dev/null || ${HOME:S/^${WRKDIR}//} != ${HOME})
+. if defined(USER) && ${USER} == root
+CCACHE_DIR= /root/.ccache
+. else
+NO_CCACHE= yes
+WARNING+= WITH_CCACHE_BUILD support disabled, please set CCACHE_DIR.
+. endif
+.endif
+
# Support NO_CCACHE for common setups, require WITH_CCACHE_BUILD, and
# don't use if ccache already set in CC
.if !defined(NO_CCACHE) && defined(WITH_CCACHE_BUILD) && !${CC:M*ccache*} && \
@@ -2138,12 +2151,15 @@ _CCACHE_PATH= ${LOCALBASE}/libexec/ccach
# Prepend the ccache dir into the PATH and setup ccache env
PATH:= ${_CCACHE_PATH}:${PATH}
+#.MAKEFLAGS: PATH=${PATH}
.if !${MAKE_ENV:MPATH=*} && !${CONFIGURE_ENV:MPATH=*}
MAKE_ENV+= PATH=${PATH}
CONFIGURE_ENV+= PATH=${PATH}
.endif
+# Ensure this is always in subchild environments
. if defined(CCACHE_DIR)
+#.MAKEFLAGS: CCACHE_DIR=${CCACHE_DIR}
MAKE_ENV+= CCACHE_DIR="${CCACHE_DIR}"
CONFIGURE_ENV+= CCACHE_DIR="${CCACHE_DIR}"
. endif
More information about the svn-ports-all
mailing list