GNU bug report logs -
#25100
'guix system reconfigure' fails when new generation already exists
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Mon, 05 Dec 2016 21:35:40 +0100
with message-id <87a8ca15cz.fsf <at> gnu.org>
and subject line Re: bug#25100: 'guix system reconfigure' fails when new generation already exists
has caused the debbugs.gnu.org bug report #25100,
regarding 'guix system reconfigure' fails when new generation already exists
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
25100: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=25100
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
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 (text/x-patch, attachment)]
[signature.asc (application/pgp-signature, inline)]
[Message part 6 (message/rfc822, inline)]
Hi!
Chris Marusich <cmmarusich <at> gmail.com> 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 <cmmarusich <at> gmail.com>
> 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}
> +@pxref{Invoking guix package}.
Note: @pxref is for parenthetical expressions (info "(texinfo) pxref").
I adjusted this and the commit log and committed.
Thank you!
Ludo’.
This bug report was last modified 8 years and 169 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.