guix system: 'init' makes sure the target store directory exists.

* guix/scripts/system.scm (install): Before calling 'copy-closure', make
  sure directory (%store-prefix) under TARGET exists.
This commit is contained in:
Ludovic Courtès 2014-06-18 23:19:01 +02:00
parent dc34393569
commit eef4096c14
1 changed files with 7 additions and 3 deletions

View File

@ -100,9 +100,13 @@ When GRUB? is true, install GRUB on DEVICE, using GRUB.CFG."
(if (string=? target "/") (if (string=? target "/")
(warning (_ "initializing the current root file system~%")) (warning (_ "initializing the current root file system~%"))
(begin
;; Make sure the target store exists.
(mkdir-p (string-append target (%store-prefix)))
;; Copy items to the new store. ;; Copy items to the new store.
(for-each (cut copy-closure store <> target #:log-port log-port) (for-each (cut copy-closure store <> target #:log-port log-port)
to-copy)) to-copy)))
;; Create a bunch of additional files. ;; Create a bunch of additional files.
(format log-port "populating '~a'...~%" target) (format log-port "populating '~a'...~%" target)