mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-19 13:17:10 -05:00
utils: 'set-file-time' passes AT_SYMLINK_NOFOLLOW.
* guix/build/utils.scm (AT_SYMLINK_NOFOLLOW): New variable. (set-file-time): Use it.
This commit is contained in:
parent
72809abc9e
commit
b1e2ec008a
1 changed files with 9 additions and 1 deletions
|
@ -924,13 +924,21 @@ (define (loop total bytes)
|
|||
(min len buffer-size)
|
||||
buffer-size))))))
|
||||
|
||||
(define AT_SYMLINK_NOFOLLOW
|
||||
;; Guile 2.0 did not define this constant, hence this hack.
|
||||
(let ((variable (module-variable the-root-module 'AT_SYMLINK_NOFOLLOW)))
|
||||
(if variable
|
||||
(variable-ref variable)
|
||||
256))) ;for GNU/Linux
|
||||
|
||||
(define (set-file-time file stat)
|
||||
"Set the atime/mtime of FILE to that specified by STAT."
|
||||
(utime file
|
||||
(stat:atime stat)
|
||||
(stat:mtime stat)
|
||||
(stat:atimensec stat)
|
||||
(stat:mtimensec stat)))
|
||||
(stat:mtimensec stat)
|
||||
AT_SYMLINK_NOFOLLOW))
|
||||
|
||||
(define (get-char* p)
|
||||
;; We call it `get-char', but that's really a binary version
|
||||
|
|
Loading…
Reference in a new issue