summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-03-20 15:02:38 +0100
committerLudovic Courtès <ludo@gnu.org>2016-03-20 15:02:38 +0100
commit4e8b7502e392bd44316f0f4ec5eed6c626655ad8 (patch)
tree34f3e0d5b69824a3200b1e3a7513ff5c29253b07
parent71be99b8b673ecf86a104d847a15fa4b1427a266 (diff)
system: Allow account skeletons to be directories.
* gnu/system/shadow.scm (skeleton-directory): Use 'copy-recursively' instead of 'copy-file'. * gnu/build/activation.scm (copy-account-skeletons): Likewise.
-rw-r--r--gnu/build/activation.scm5
-rw-r--r--gnu/system/shadow.scm10
2 files changed, 9 insertions, 6 deletions
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
index 352e736050..ae614994d6 100644
--- a/gnu/build/activation.scm
+++ b/gnu/build/activation.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
@@ -91,7 +91,8 @@
(mkdir-p home)
(for-each (lambda (file)
(let ((target (string-append home "/" file)))
- (copy-file (string-append directory "/" file) target)
+ (copy-recursively (string-append directory "/" file)
+ target)
(make-file-writable target)))
files)))
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index 7f3a1dfac2..6e62aeee57 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -188,7 +188,8 @@ set debug-file-directory ~/.guix-profile/lib/debug\n")))
"Return a directory containing SKELETONS, a list of name/derivation tuples."
(computed-file "skel"
#~(begin
- (use-modules (ice-9 match))
+ (use-modules (ice-9 match)
+ (guix build utils))
(mkdir #$output)
(chdir #$output)
@@ -198,9 +199,10 @@ set debug-file-directory ~/.guix-profile/lib/debug\n")))
;; would just copy the symlinks as is.
(for-each (match-lambda
((target source)
- (copy-file source target)))
+ (copy-recursively source target)))
'#$skeletons)
- #t)))
+ #t)
+ #:modules '((guix build utils))))
(define (assert-valid-users/groups users groups)
"Raise an error if USERS refer to groups not listed in GROUPS."