GNU bug report logs - #38469
guix gc should keep around recent intermediate build ingredients by default

Previous Next

Package: guix;

Reported by: Robert Vollmert <rob <at> vllmrt.net>

Date: Tue, 3 Dec 2019 10:49:02 UTC

Severity: normal

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

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: Ludovic Courtès <ludo <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#38469: closed (guix gc should keep around recent intermediate
 build ingredients by default)
Date: Tue, 10 Dec 2019 16:40:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 10 Dec 2019 17:39:07 +0100
with message-id <87pngwnnis.fsf <at> gnu.org>
and subject line Re: bug#38469: guix gc should keep around recent intermediate build
has caused the debbugs.gnu.org bug report #38469,
regarding guix gc should keep around recent intermediate build ingredients by default
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
38469: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38469
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Robert Vollmert <rob <at> vllmrt.net>
To: bug-guix <at> gnu.org
Subject: guix gc should keep around recent intermediate build ingredients by
 default
Date: Tue, 3 Dec 2019 11:48:16 +0100
[ This is a user/developer friendliness feature request. I’m not arguing
  that `guix gc` should do anything differently on a technical level, I’m
  just trying to argue that the default experience should be different. ]

Current situation:
  I use a forked guix repository as my default channel, which
  includes a number of slow-to-build Haskell packages. Now and
  then, I run out of disk space. So I call `guix gc`, which invariably
  removes the store paths involved in building my current system generation,
  so the next call to `guix system reconfigure` takes hours.

Desired situation:
  After calling `guix gc`, the paths that were involved in my last system
  build are still around, so reconfiguring doesn’t result in everything
  being rebuilt.

(If there’s some way I can achieve that now, perhaps by explicitly managing
some roots, or passing specific arguments to `guix gc`, I’d be happy to
know! I’d still argue that we should try to make this the default behaviour,
though.)



[Message part 3 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: Robert Vollmert <rob <at> vllmrt.net>
Cc: 38469-done <at> debbugs.gnu.org
Subject: Re: bug#38469: guix gc should keep around recent intermediate build
Date: Tue, 10 Dec 2019 17:39:07 +0100
Hi,

Robert Vollmert <rob <at> vllmrt.net> skribis:

>> Have you tried passing the options '--gc-keep-derivations=yes’ and
>> '--gc-keep-outputs=yes' to guix-daemon?
>
> I had not. I added that right now, and first tests seem to indicate
> that this helps. Thanks!

Yes, I think these options are exactly what you want.

> Would it be a bad idea to make this the default?

I think the current defaults are more appropriate; after all, they
really allow “garbage” to be collected.

> Alternatively, how about some kind of developer config fragment that
> would modify a system configuration with settings that are a good
> idea for Guix development, if not general use? That might also include
> things like setting the $%!^@!*^% guile backtrace columns variable
> for guix-daemon.

I think what you’d want is to set COLUMNS within derivation, not “for
the daemon”.

So I don’t know, I’m sympathetic to the idea of developer settings in
Guix System, but I’m not sure what it could bring beyond these two
options.

In the meantime, I propose to close this bug and to discuss this
potential new feature separately.

Thanks,
Ludo’.


This bug report was last modified 5 years and 160 days ago.

Previous Next


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