guix system: init: Overwrite the items in the target store.
Fixes <http://bugs.gnu.org/20722>. Reported by Eric Bavier <ericbavier@openmailbox.org>. * guix/scripts/system.scm (copy-item): Check whether DEST exists and remove it if it does.
This commit is contained in:
parent
aea9b23213
commit
78acff7c11
|
@ -76,6 +76,13 @@
|
||||||
(let ((dest (string-append target item))
|
(let ((dest (string-append target item))
|
||||||
(state (string-append target "/var/guix")))
|
(state (string-append target "/var/guix")))
|
||||||
(format log-port "copying '~a'...~%" item)
|
(format log-port "copying '~a'...~%" item)
|
||||||
|
|
||||||
|
;; Remove DEST if it exists to make sure that (1) we do not fail badly
|
||||||
|
;; while trying to overwrite it (see <http://bugs.gnu.org/20722>), and
|
||||||
|
;; (2) we end up with the right contents.
|
||||||
|
(when (file-exists? dest)
|
||||||
|
(delete-file-recursively dest))
|
||||||
|
|
||||||
(copy-recursively item dest
|
(copy-recursively item dest
|
||||||
#:log (%make-void-port "w"))
|
#:log (%make-void-port "w"))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue