summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-12-11 15:03:23 +0100
committerLudovic Courtès <ludo@gnu.org>2020-12-13 22:47:56 +0100
commitcc6cb6e80a42355147809b4830053a34d1563994 (patch)
tree4f66319e2f4cfb6ea2d31b5621dc8e216ec89404
parentb1e2ec008a463cc70fe15ee6c9e8b18dfa5e8e0d (diff)
downloadguix-cc6cb6e80a42355147809b4830053a34d1563994.tar.gz
utils: 'copy-recursively' keeps symlink mtime when #:keep-mtime? is true.
* guix/build/utils.scm (copy-recursively): In the "leaf" procedure, call
'set-file-time' also on symlinks.
-rw-r--r--guix/build/utils.scm6
1 files changed, 3 insertions, 3 deletions
diff --git a/guix/build/utils.scm b/guix/build/utils.scm
index 9965106c48..f0ea83085e 100644
--- a/guix/build/utils.scm
+++ b/guix/build/utils.scm
@@ -366,10 +366,10 @@ permissions.  Write verbose output to the LOG port."
                              (symlink target dest)))
                           (else
                            (copy-file file dest)
-                           (when keep-mtime?
-                             (set-file-time dest stat))
                            (when keep-permissions?
-                             (chmod dest (stat:perms stat)))))))
+                             (chmod dest (stat:perms stat)))))
+                        (when keep-mtime?
+                          (set-file-time dest stat))))
                     (lambda (dir stat result)     ; down
                       (let ((target (string-append destination
                                                    (strip-source dir))))