aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-07-03 11:02:22 +0200
committerLudovic Courtès <ludo@gnu.org>2018-07-03 17:50:04 +0200
commite5e5119855b0269e8e6507b90c7f4d7df5118fc8 (patch)
tree1d4cf0e71b09c9d6a267e49fd7da3dce4cfd02f9
parent25c7ff6a3ecbaa1e93b38d35c8cbff40b7f4edb8 (diff)
downloadguix-e5e5119855b0269e8e6507b90c7f4d7df5118fc8.tar
guix-e5e5119855b0269e8e6507b90c7f4d7df5118fc8.tar.gz
database: 'reset-timestamps' now correctly handles symlinks.
* guix/store/database.scm (reset-timestamps): Use 'utime' with AT_SYMLINK_NOFOLLOW for symlinks.
-rw-r--r--guix/store/database.scm4
1 files changed, 1 insertions, 3 deletions
diff --git a/guix/store/database.scm b/guix/store/database.scm
index 05b2ba6c3f..8f35b63e37 100644
--- a/guix/store/database.scm
+++ b/guix/store/database.scm
@@ -209,9 +209,7 @@ it's a directory. While at it, canonicalize file permissions."
(type type))))))
(scandir* parent))))
((symlink)
- ;; FIXME: Implement bindings for 'futime' to reset the timestamps on
- ;; symlinks.
- #f)
+ (utime file 0 0 0 0 AT_SYMLINK_NOFOLLOW))
(else
(chmod file (if (executable-file? file) #o555 #o444))
(utime file 0 0 0 0)))))