Merge topic 'file-install-macos' into release-3.26

a6f5bdd650 Merge branch 'backport-3.24-file-install-macos'
35f2b1bf5b file(INSTALL): Fix file ownership regression when running as root on macOS
a5d6548587 file(INSTALL): Fix file ownership regression when running as root on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8293
This commit is contained in:
Brad King
2023-03-08 13:51:52 +00:00
committed by Kitware Robot
+6
View File
@@ -2528,6 +2528,12 @@ SystemTools::CopyStatus SystemTools::CloneFileContent(
return status;
#elif defined(__APPLE__) && \
defined(KWSYS_SYSTEMTOOLS_HAVE_MACOS_COPYFILE_CLONE)
// When running as root, copyfile() copies more metadata than we
// want, such as ownership. Pretend it is not available.
if (getuid() == 0) {
return CopyStatus{ Status::POSIX(ENOSYS), CopyStatus::NoPath };
}
// NOTE: we cannot use `clonefile` as the {a,c,m}time for the file needs to
// be updated by `copy_file_if_different` and `copy_file`.
if (copyfile(source.c_str(), destination.c_str(), nullptr,