unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Outdated config.scm in development repo
@ 2015-10-13 18:08 Taylan Ulrich Bayırlı/Kammer
  2015-10-13 18:33 ` Thompson, David
  2015-10-14 20:03 ` Ludovic Courtès
  0 siblings, 2 replies; 4+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2015-10-13 18:08 UTC (permalink / raw)
  To: guix-devel

From what I can tell this situation I landed in doesn't involve any bugs
and won't happen to a normal user, but for the sake of documenting it
for developers, here goes:

I have $XDG_CONFIG_HOME/guix/latest point to a git repository so I can
update it swiftly.

In the repo, a ./guix/config.scm is generated from ./guix/config.scm.in
sometimes, I guess on ./configure; I haven't tried to figure out exactly
when but certainly not every time I run 'make'.

That config.scm will contain absolute paths to gzip, bzip2, and some
other things.  If you used a Guix environment to build, those will be
/gnu/store/... paths.

When you update things and garbage-collect, those store items might get
removed, since $XDG_CONFIG_HOME/guix/latest/guix/config.scm is not a GC
root (rightly so, as far as I understand).  And thus, guix commands will
start failing, saying they can't find /gnu/store/.../bin/bzip2 or
whatever.

That sums up the problem description.

Fixing it might be tricky if you need to use 'guix environment' to run
./configure or whatever to fix the config.scm, since you possibly first
need to fix the issue to be able to use 'guix environment' (it will work
only if no calls are made to the missing /gnu/store/... executables).

Manually fixing the config.scm is easy, fortunately.  Just change the
absolute /gnu/store/... paths which point at non-existing store items to
point to existing store items.

Taylan

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Outdated config.scm in development repo
  2015-10-13 18:08 Outdated config.scm in development repo Taylan Ulrich Bayırlı/Kammer
@ 2015-10-13 18:33 ` Thompson, David
  2015-10-13 19:05   ` Taylan Ulrich Bayırlı/Kammer
  2015-10-14 20:03 ` Ludovic Courtès
  1 sibling, 1 reply; 4+ messages in thread
From: Thompson, David @ 2015-10-13 18:33 UTC (permalink / raw)
  To: Taylan Ulrich Bayırlı/Kammer; +Cc: guix-devel

On Tue, Oct 13, 2015 at 2:08 PM, Taylan Ulrich Bayırlı/Kammer
<taylanbayirli@gmail.com> wrote:
> From what I can tell this situation I landed in doesn't involve any bugs
> and won't happen to a normal user, but for the sake of documenting it
> for developers, here goes:
>
> I have $XDG_CONFIG_HOME/guix/latest point to a git repository so I can
> update it swiftly.
>
> In the repo, a ./guix/config.scm is generated from ./guix/config.scm.in
> sometimes, I guess on ./configure; I haven't tried to figure out exactly
> when but certainly not every time I run 'make'.
>
> That config.scm will contain absolute paths to gzip, bzip2, and some
> other things.  If you used a Guix environment to build, those will be
> /gnu/store/... paths.
>
> When you update things and garbage-collect, those store items might get
> removed, since $XDG_CONFIG_HOME/guix/latest/guix/config.scm is not a GC
> root (rightly so, as far as I understand).  And thus, guix commands will
> start failing, saying they can't find /gnu/store/.../bin/bzip2 or
> whatever.
>
> That sums up the problem description.
>
> Fixing it might be tricky if you need to use 'guix environment' to run
> ./configure or whatever to fix the config.scm, since you possibly first
> need to fix the issue to be able to use 'guix environment' (it will work
> only if no calls are made to the missing /gnu/store/... executables).
>
> Manually fixing the config.scm is easy, fortunately.  Just change the
> absolute /gnu/store/... paths which point at non-existing store items to
> point to existing store items.

Some day 'guix environment' will allow one to create a profile and
register it as a GC root and avoid this issue.

- Dave

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Outdated config.scm in development repo
  2015-10-13 18:33 ` Thompson, David
@ 2015-10-13 19:05   ` Taylan Ulrich Bayırlı/Kammer
  0 siblings, 0 replies; 4+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2015-10-13 19:05 UTC (permalink / raw)
  To: Thompson, David; +Cc: guix-devel

"Thompson, David" <dthompson2@worcester.edu> writes:

> Some day 'guix environment' will allow one to create a profile and
> register it as a GC root and avoid this issue.

Aha, that indeed sounds like a nice and clean way to solve the general
issue, which I guess is that software built with 'guix environment' does
not have the "privileges" of software built from a package recipe and
put into the store, in particular the privilege of having dependencies
protected from GC.

Looking forward to it. :-)

Taylan

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Outdated config.scm in development repo
  2015-10-13 18:08 Outdated config.scm in development repo Taylan Ulrich Bayırlı/Kammer
  2015-10-13 18:33 ` Thompson, David
@ 2015-10-14 20:03 ` Ludovic Courtès
  1 sibling, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2015-10-14 20:03 UTC (permalink / raw)
  To: Taylan Ulrich "Bayırlı/Kammer"; +Cc: guix-devel

taylanbayirli@gmail.com (Taylan Ulrich "Bayırlı/Kammer") skribis:

> I have $XDG_CONFIG_HOME/guix/latest point to a git repository

Warranty void.  :-)

Ludo'.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-10-14 20:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-13 18:08 Outdated config.scm in development repo Taylan Ulrich Bayırlı/Kammer
2015-10-13 18:33 ` Thompson, David
2015-10-13 19:05   ` Taylan Ulrich Bayırlı/Kammer
2015-10-14 20:03 ` Ludovic Courtès

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