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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 25100 in the body.
You can then email your comments to 25100 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#25100; Package guix. (Sat, 03 Dec 2016 10:26:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Chris Marusich <cmmarusich <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sat, 03 Dec 2016 10:26:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

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 1 (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)]

Reply sent to ludo <at> gnu.org (Ludovic Courtès):
You have taken responsibility. (Mon, 05 Dec 2016 20:36:01 GMT) Full text and rfc822 format available.

Notification sent to Chris Marusich <cmmarusich <at> gmail.com>:
bug acknowledged by developer. (Mon, 05 Dec 2016 20:36:02 GMT) Full text and rfc822 format available.

Message #10 received at 25100-done <at> debbugs.gnu.org (full text, mbox):

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’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 03 Jan 2017 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 7 years and 108 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.