unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: Chris Marusich <cmmarusich@gmail.com>
Cc: guix-devel@gnu.org, 36855@debbugs.gnu.org
Subject: Re: bug#36855: guix system switch-generation doesn't
Date: Mon, 26 Aug 2019 12:07:29 +0200	[thread overview]
Message-ID: <874l241bq6.fsf@gnu.org> (raw)
In-Reply-To: <87h86ry5j5.fsf@gmail.com> (Chris Marusich's message of "Thu, 08 Aug 2019 09:40:30 -0700")

Hey Chris & Jakob,

Chris Marusich <cmmarusich@gmail.com> skribis:

> zerodaysfordays@sdf.lonestar.org (Jakob L. Kreuze) writes:
>
>> 'switch-to-system-generation' doesn't call out to
>> 'upgrade-shepherd-services'. I'm not sure if this was an intentional
>> decision or not
>
> It is intentional, but only because there is currently no way to call
> upgrade-shepherd-services when switching system generations.

[...]

> FYI, last I checked (about 3 years ago), in NixOS they took a slightly
> different approach: instead of storing state describing the previous
> system generation and relying on the current system's logic to correctly
> parse it and use it to revert the system to a prior configuration, they
> just dump everything into a self-contained script that knows how to
> update the entire system to one specific configuration.  That approach
> is nice in some ways because switching generations is dead simple - you
> just run the switching script belonging to the generation you want to
> switch to - but it also has downsides.

Jakob, now that we generate scripts for the effectful bits of system
reconfiguration (one of these bits being service upgrades), couldn’t we
take it one step further and store those scripts in the “system”
derivation so we can run them eventually, notably upon
‘switch-generation’?

> For example, if the target generation is old enough compared to the
> current system, then the target generation's old switching script might
> not understand how to deal with the current system correctly.  Instead,
> if you only store the bare minimum of state required to take the right
> actions, and you implement the meat of the logic in the current Guix
> installation, you are more likely to be able to switch generations even
> to very old ones where the world was very different, since the current
> Guix can be taught how to deal gracefully with the old world.  But it
> seems more complicated.  It's all about trade-offs.

Indeed.  The important thing to me is that from the GRUB menu you can
really switch to any generation.  I’ve actually never used
‘switch-generations’ on my laptop, but technically, I feel like storing
the “switch-to-system” script would be the easiest way.

Thanks,
Ludo’.

  parent reply	other threads:[~2019-08-26 10:07 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <7BE8190F-A8E9-454E-8F37-FBFE42FBDE10@vllmrt.net>
2019-08-06 21:25 ` guix system switch-generation doesn't Robert Vollmert
2019-08-07 19:37   ` bug#36855: " Christopher Lemmer Webber
2019-08-07 19:57     ` Jakob L. Kreuze
2019-08-08 16:40       ` Chris Marusich
2019-08-08 17:03         ` Robert Vollmert
2019-08-09  7:35           ` Chris Marusich
2019-08-26 10:07         ` Ludovic Courtès [this message]
2019-08-28 18:28           ` Jakob L. Kreuze
     [not found]         ` <874l241bq6.fsf__35802.4716888153$1566814098$gmane$org@gnu.org>
2019-08-26 18:51           ` Mark H Weaver
     [not found]           ` <87woezoj3p.fsf__10757.9769611888$1566845612$gmane$org@netris.org>
2019-08-28  0:34             ` Mark H Weaver
2019-08-28 18:33               ` Jakob L. Kreuze
     [not found]               ` <87y2zdnnrl.fsf__16000.9061962896$1567017269$gmane$org@sdf.lonestar.org>
2019-08-28 18:46                 ` Mark H Weaver
2019-08-29  0:08                   ` Jakob L. Kreuze

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874l241bq6.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=36855@debbugs.gnu.org \
    --cc=cmmarusich@gmail.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).