summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2009-07-27 17:08:02 +0200
committerJim Meyering <meyering@redhat.com>2009-08-04 17:38:54 +0200
commiteae535e1a322e244248bd31ed7e21ac95ecaa16d (patch)
treeecc8956558befd65ef146eb233d46e16dba7c735 /m4
parent1762092901adf040445d59931d14837ef7f2ebe1 (diff)
downloadcoreutils-eae535e1a322e244248bd31ed7e21ac95ecaa16d.tar.xz
cp -pP (and e.g., -a): preserve time stamps on symlinks, too
* src/copy.c (utimensat_if_possible): New function. (copy_internal): Remove variable, "preserve_metadata". Replace with "dest_is_symlink". That covers all cases but one: the one in which cp --link has created hard links to non-directories. In that case, there is no need to update attributes of the links. Use utimensat_if_possible, to preserve timestamps of symlinks. * NEWS (New features): Mention this. * tests/Makefile.am (TESTS): Add cp/preserve-slink-time. * tests/cp/preserve-slink-time: New file. * m4/jm-macros.m4 (coreutils_MACROS): Test for utimensat. Reported in http://bugzilla.redhat.com/230866
Diffstat (limited to 'm4')
-rw-r--r--m4/jm-macros.m43
1 files changed, 3 insertions, 0 deletions
diff --git a/m4/jm-macros.m4 b/m4/jm-macros.m4
index f862984cc..32a0954a7 100644
--- a/m4/jm-macros.m4
+++ b/m4/jm-macros.m4
@@ -89,6 +89,9 @@ AC_DEFUN([coreutils_MACROS],
tcgetpgrp \
)
+ # for cp.c
+ AC_CHECK_FUNCS_ONCE([utimensat])
+
dnl This can't use AC_REQUIRE; I'm not quite sure why.
cu_PREREQ_STAT_PROG