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.
1 files changed, 7 insertions(+), 0 deletions(-) M guix/scripts/system.scm
M guix/scripts/system.scm => guix/scripts/system.scm +7 -0
@@ 76,6 76,13 @@ (let ((dest (string-append target item)) (state (string-append target "/var/guix"))) (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 #:log (%make-void-port "w"))