--- Begin Message ---
Subject: |
'guix system reconfigure' fails when new generation already exists |
Date: |
Sat, 03 Dec 2016 02:24:50 -0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Hi,
I've noticed that, in GuixSD, if one rolls back the system with 'guix
system roll-back' or switches to a previous generation with 'guix system
switch-generation', and then one tries to run 'guix system reconfigure',
the operation fails because the symlink for the new generation already
exists. I expected the operation to succeed and overwrite the existing
generation, since that mirrors the behavior of 'guix package'.
Specifically, if the current generation is N and generation N+1 exists,
then running 'guix system reconfigure' should overwrite generation N+1
with the new system. Currently, it fails to create the symlink. I've
attached a patch which modifies the behavior to be what I expected.
--
Chris
0001-system-If-the-new-system-generation-already-exists-o.patch
Description: Text Data
signature.asc
Description: PGP signature
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#25100: 'guix system reconfigure' fails when new generation already exists |
Date: |
Mon, 05 Dec 2016 21:35:40 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Hi!
Chris Marusich <address@hidden> skribis:
> I've noticed that, in GuixSD, if one rolls back the system with 'guix
> system roll-back' or switches to a previous generation with 'guix system
> switch-generation', and then one tries to run 'guix system reconfigure',
> the operation fails because the symlink for the new generation already
> exists. I expected the operation to succeed and overwrite the existing
> generation, since that mirrors the behavior of 'guix package'.
>
> Specifically, if the current generation is N and generation N+1 exists,
> then running 'guix system reconfigure' should overwrite generation N+1
> with the new system. Currently, it fails to create the symlink. I've
> attached a patch which modifies the behavior to be what I expected.
Indeed.
> From 526f78a38dabeb12196a21cebe174f073c217c12 Mon Sep 17 00:00:00 2001
> From: Chris Marusich <address@hidden>
> Date: Fri, 2 Dec 2016 01:52:04 -0800
> Subject: [PATCH] system: If the new system generation already exists,
> overwrite it.
>
> * guix/scripts/system.scm (switch-to-system): Create the symlink to the new
> system generation using the procedure "switch-symlink" instead of "symlink".
> That way, if the link already exists, we update it instead of failing.
>
> * doc/guix.texi (Using the Configuration System, Invoking guix system):
> Document the behavior.
[...]
> +overwritten. This behavior mirrors that of @command{guix package}
> address@hidden guix package}.
Note: @pxref is for parenthetical expressions (info "(texinfo) pxref").
I adjusted this and the commit log and committed.
Thank you!
Ludo’.
--- End Message ---