On 2026/09/11 05:33, Anthony J. Bentley wrote: > Stuart Henderson writes: > > I think I'd probably say "was called directly". > > > > Not sure if I'd allow the "present in BUILD_DEPENDS" carve-out; having > > ccache in BUILD_DEPENDS won't be enough to make it work (at least with > > PORTS_PRIVSEP), as at least CCACHE_DIR still needs to be set. Maybe > > go without that at first and revisit if we end up finding something that > > really does need it to be present? I've committed my fixes for known ports picking up ccache now; is anyone able to give Anthony's diff a spin in an amd64 bulk please to see if there are any more? OK sthen if bulk is clear. > > --- infrastructure/mk/bsd.port.mk > +++ infrastructure/mk/bsd.port.mk > @@ -452,7 +452,8 @@ CCACHE_DIR ?= ${WRKOBJDIR_${PKGPATH}}/.ccache > MAKE_ENV += CCACHE_DIR=${CCACHE_DIR} ${CCACHE_ENV} > CONFIGURE_ENV += CCACHE_DIR=${CCACHE_DIR} > # scons cleans the environment when calling the compiler > -COMPILER_WRAPPER += env CCACHE_DIR=${CCACHE_DIR} ${CCACHE_ENV} ccache > +COMPILER_WRAPPER += env CCACHE_DIR=${CCACHE_DIR} ${CCACHE_ENV} \ > + ${LOCALBASE}/bin/ccache > . if !exists(${LOCALBASE}/bin/ccache) > ERRORS += "Fatal: USE_CCACHE is set, but ccache is not installed." > . endif > @@ -2783,6 +2784,14 @@ ${_WRKDIR_COOKIE}: > @${_PBUILD} mkdir -p ${WRKDIR} ${WRKDIR}/bin > @${_wrap_install_commands} > # poison some common binaries unless the relevant BUILD_DEPENDS is used > + @printf '#!/bin/sh\n\ > + echo "*** $$0 was called directly ***" >&2\n\ > + exit 1\n' ${_PREDIR} ${WRKDIR}/bin/ccache > + @${_PBUILD} chmod 555 ${WRKDIR}/bin/ccache > + @printf '#!/bin/sh\n\ > + echo "*** $$0 was called directly ***" >&2\n\ > + exit 1\n' ${_PREDIR} ${WRKDIR}/bin/sccache > + @${_PBUILD} chmod 555 ${WRKDIR}/bin/sccache > .if empty(_BUILD_DEP:Mdevel/gettext,-tools) && \ > empty(_BUILD_DEP:Mtextproc/intltool) > @printf '#!/bin/sh\n\ >
No comments:
Post a Comment