From 4e8b7502e392bd44316f0f4ec5eed6c626655ad8 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 20 Mar 2016 15:02:38 +0100 Subject: 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. --- gnu/build/activation.scm | 5 +++-- gnu/system/shadow.scm | 10 ++++++---- 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 +;;; 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." -- cgit v1.2.3