Index: Mk/bsd.port.mk =================================================================== --- Mk/bsd.port.mk +++ Mk/bsd.port.mk @@ -2046,14 +2046,17 @@ SCRIPTS_ENV+= ${INSTALL_MACROS} # Macro for copying entire directory tree with correct permissions +# In the -exec shell commands, we add add a . as the first argument, it would +# end up being $0 aka the script name, which is not part of $@, so we force it +# to be able to use $@ directly. COPYTREE_BIN= ${SH} -c '(${FIND} -d $$0 $$2 | ${CPIO} -dumpl $$1 >/dev/null \ 2>&1) && \ - ${FIND} -d $$0 $$2 -type d -exec chmod 755 $$1/{} \; && \ - ${FIND} -d $$0 $$2 -type f -exec chmod ${BINMODE} $$1/{} \;' -- + ${FIND} -d $$0 $$2 -type d -exec ${SH} -c '\''cd '\''$$1'\'' && chmod 755 "$$@"'\'' -- . {} + && \ + ${FIND} -d $$0 $$2 -type f -exec ${SH} -c '\''cd '\''$$1'\'' && chmod ${BINMODE} "$$@"'\'' -- . {} +' -- COPYTREE_SHARE= ${SH} -c '(${FIND} -d $$0 $$2 | ${CPIO} -dumpl $$1 >/dev/null \ 2>&1) && \ - ${FIND} -d $$0 $$2 -type d -exec chmod 755 $$1/{} \; && \ - ${FIND} -d $$0 $$2 -type f -exec chmod ${SHAREMODE} $$1/{} \;' -- + ${FIND} -d $$0 $$2 -type d -exec ${SH} -c '\''cd '\''$$1'\'' && chmod 755 "$$@"'\'' -- . {} + && \ + ${FIND} -d $$0 $$2 -type f -exec ${SH} -c '\''cd '\''$$1'\'' && chmod ${SHAREMODE} "$$@"'\'' -- . {} +' -- # The user can override the NO_PACKAGE by specifying this from # the make command line