guix system: If the new system generation already exists, overwrite it.

Fixes <http://bugs.gnu.org/25100>.

Before that, 'guix system reconfigure' would fail if the next generation
already existed.

* guix/scripts/system.scm (switch-to-system): Use 'switch-symlink'
instead of 'symlink'.
* doc/guix.texi (Using the Configuration System, Invoking guix system):
Document the behavior.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Chris Marusich 2016-12-02 01:52:04 -08:00 committed by Ludovic Courtès
parent 4bd391f557
commit 067a2e2de9
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 16 additions and 2 deletions

View file

@ -326,7 +326,7 @@ it atomically, and then run OS's activation script."
(let* ((system (derivation->output-path drv))
(number (+ 1 (generation-number profile)))
(generation (generation-file-name profile number)))
(symlink system generation)
(switch-symlinks generation system)
(switch-symlinks profile generation)
(format #t (_ "activating system...~%"))