GNU bug report logs - #25100
'guix system reconfigure' fails when new generation already exists

Previous Next

Package: guix;

Reported by: Chris Marusich <cmmarusich <at> gmail.com>

Date: Sat, 3 Dec 2016 10:26:01 UTC

Severity: normal

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: tracker <at> debbugs.gnu.org
Subject: bug#25100: closed ('guix system reconfigure' fails when new
 generation already exists)
Date: Mon, 05 Dec 2016 20:36:01 +0000
[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)]
From: Chris Marusich <cmmarusich <at> gmail.com>
To: bug-guix <at> gnu.org
Subject: 'guix system reconfigure' fails when new generation already exists
Date: Sat, 03 Dec 2016 02:24:50 -0800
[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)]
From: ludo <at> gnu.org (Ludovic Courtès)
To: Chris Marusich <cmmarusich <at> gmail.com>
Cc: 25100-done <at> debbugs.gnu.org
Subject: Re: bug#25100: 'guix system reconfigure' fails when new generation
 already exists
Date: Mon, 05 Dec 2016 21:35:40 +0100
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.