~ruther/guix-local

4e8b7502e392bd44316f0f4ec5eed6c626655ad8 — Ludovic Courtès 10 years ago 71be99b
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.
2 files changed, 9 insertions(+), 6 deletions(-)

M gnu/build/activation.scm
M gnu/system/shadow.scm
M gnu/build/activation.scm => gnu/build/activation.scm +3 -2
@@ 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)))


M gnu/system/shadow.scm => gnu/system/shadow.scm +6 -4
@@ 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."