diff options
author | Jim Meyering <meyering@redhat.com> | 2009-07-27 17:08:02 +0200 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2009-08-04 17:38:54 +0200 |
commit | eae535e1a322e244248bd31ed7e21ac95ecaa16d (patch) | |
tree | ecc8956558befd65ef146eb233d46e16dba7c735 /m4 | |
parent | 1762092901adf040445d59931d14837ef7f2ebe1 (diff) | |
download | coreutils-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.m4 | 3 |
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 |