summaryrefslogtreecommitdiff
path: root/gnu/build
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/build')
-rw-r--r--gnu/build/activation.scm16
1 files changed, 8 insertions, 8 deletions
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
index e2d1734367d..53844c0990e 100644
--- a/gnu/build/activation.scm
+++ b/gnu/build/activation.scm
@@ -141,12 +141,13 @@ and bits are set according to the default behaviour of 'mkdir'."
141 #:key 141 #:key
142 (directory %skeleton-directory) 142 (directory %skeleton-directory)
143 uid gid) 143 uid gid)
144 "Copy the account skeletons from DIRECTORY to HOME. When UID is an integer, 144 "Copy the account skeletons from DIRECTORY to HOME and make them writable.
145make it the owner of all the files created except the home directory; likewise 145When UID is an integer, make it the owner of all the files created except the
146for GID." 146home directory; likewise for GID."
147 (define (set-owner file) 147 (define (set-permission file)
148 (when (or uid gid) 148 (when (or uid gid)
149 (chown file (or uid -1) (or gid -1)))) 149 (chown file (or uid -1) (or gid -1)))
150 (make-file-writable file))
150 151
151 (let ((files (scandir directory (negate dot-or-dot-dot?) 152 (let ((files (scandir directory (negate dot-or-dot-dot?)
152 string<?))) 153 string<?)))
@@ -156,10 +157,9 @@ for GID."
156 (copy-recursively (string-append directory "/" file) 157 (copy-recursively (string-append directory "/" file)
157 target 158 target
158 #:log (%make-void-port "w")) 159 #:log (%make-void-port "w"))
159 (for-each set-owner 160 (for-each set-permission
160 (find-files target (const #t) 161 (find-files target (const #t)
161 #:directories? #t)) 162 #:directories? #t))))
162 (make-file-writable target)))
163 files))) 163 files)))
164 164
165(define* (make-skeletons-writable home 165(define* (make-skeletons-writable home