aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2025-11-15 03:18:35 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2025-11-15 03:18:35 +0000
commitf3cf4c0af5af6ce95065a615f998117ec1cd63aa (patch)
tree33ae2788d4871fd06d469223f504b31369361ac6
parent51931e1f0f33986296ff2860f25374cba47b860a (diff)
Use install instead of cp to copy bootstrap tools
We need to preserve modification times on bootstrap tools, but `cp -p` also tries to preserve flags, which fails if OBJROOT is on NFS. A -N option was added to cp for this purpose, but trying to use that would break cross-building on hosts that don't have that option. The best remaining option is `install -p`, which we already assume is present. PR: 275030 Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D53751
-rw-r--r--Makefile.inc12
-rw-r--r--tools/build/Makefile2
2 files changed, 2 insertions, 2 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index 81af336ecfa2..1d617601ece2 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -2824,7 +2824,7 @@ ${_bt}-link-${_tool}: .PHONY
if [ ! -e "$${source_path}" ] ; then \
echo "Cannot find host tool '${_tool}'"; false; \
fi; \
- cp -pf "$${source_path}" "${WORLDTMP}/legacy/bin/${_tool}"
+ install -p "$${source_path}" "${WORLDTMP}/legacy/bin/${_tool}"
${_bt}-links: ${_bt}-link-${_tool}
.endfor
diff --git a/tools/build/Makefile b/tools/build/Makefile
index fdec5f11311d..a701c12a9b5c 100644
--- a/tools/build/Makefile
+++ b/tools/build/Makefile
@@ -414,7 +414,7 @@ _LINK_HOST_TOOL= ln -sfn
# When building on FreeBSD we always copy the host tools instead of linking
# into WORLDTMP to avoid issues with incompatible libraries (see r364030).
# Note: we could create links if we don't intend to update the current machine.
-_COPY_HOST_TOOL= cp -pf
+_COPY_HOST_TOOL= install -p
.else
# However, this is not necessary on Linux/macOS. Additionally, copying the host
# tools to another directory with cp -p results in freezes on macOS Big Sur for