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.
master
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 "/")
(warning (_ "initializing the current root file system~%"))
;; Copy items to the new store.
(for-each (cut copy-closure store <> target #:log-port log-port)
to-copy))
(begin
;; Make sure the target store exists.
(mkdir-p (string-append target (%store-prefix)))
;; Copy items to the new store.
(for-each (cut copy-closure store <> target #:log-port log-port)
to-copy)))
;; Create a bunch of additional files.
(format log-port "populating '~a'...~%" target)