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 +;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; ;;; This file is part of GNU Guix. @@ -91,7 +91,8 @@ (define* (copy-account-skeletons home (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 +;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -188,7 +188,8 @@ (define (skeleton-directory skeletons) "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 @@ (define (skeleton-directory skeletons) ;; 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."