‘copy-recursively’ #:keep-mtime? #t broken for directories

DoneSubmitted by Ludovic Courtès.
Details
One participant
  • Ludovic Courtès
Owner
unassigned
Severity
normal
L
L
Ludovic Courtès wrote on 19 Nov 2020 17:19
(address . bug-guix@gnu.org)
87mtzdgvyq.fsf@inria.fr
When passing #:keep-mtime? #t to ‘copy-recursively’, the mtime ofregular files is preserved, but the mtime of directories (and symlinks)is not.
This is because ‘set-file-time’ is called in the ‘down’ procedure of‘file-system-fold’, before the directory is populated.
‘populate-store’ is affected by this bug, meaning that it creates storeswhere directories have “wrong” timestamps. In practice this is probablyless likely to have undesirable side effects than regular files withwrong timestamps (think ‘make’, .go files, etc.)
Ludo’.
L
L
Ludovic Courtès wrote on 19 Nov 2020 22:40
(address . 44741@debbugs.gnu.org)
87ima1gh53.fsf@gnu.org
Ludovic Courtès <ludo@gnu.org> skribis:
Toggle quote (7 lines)> When passing #:keep-mtime? #t to ‘copy-recursively’, the mtime of> regular files is preserved, but the mtime of directories (and symlinks)> is not.>> This is because ‘set-file-time’ is called in the ‘down’ procedure of> ‘file-system-fold’, before the directory is populated.
Fixed by 201cbcac3e9c23cc28352fa9ece3e677e22cc12c (core-updates).
Toggle quote (5 lines)> ‘populate-store’ is affected by this bug, meaning that it creates stores> where directories have “wrong” timestamps. In practice this is probably> less likely to have undesirable side effects than regular files with> wrong timestamps (think ‘make’, .go files, etc.)
In some cases, such as the initrd, the problem is harmless becausetimestamps are reset anyway in the archive (for instance‘write-cpio-archive’ does that.)
There might be problems in other cases, such as (gnu build image).
Ludo’.
L
L
Ludovic Courtès wrote on 3 Dec 2020 18:06
control message for bug #44741
(address . control@debbugs.gnu.org)
874kl2ddkq.fsf@gnu.org
tags 44741 fixedclose 44741 quit
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send email to 44741@debbugs.gnu.org