all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* doc: Proposed note about symlinks in section "invoking guix pull"
@ 2018-11-12 23:05 swedebugia
  2018-11-14 11:23 ` Ludovic Courtès
  0 siblings, 1 reply; 5+ messages in thread
From: swedebugia @ 2018-11-12 23:05 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1472 bytes --]

Hi

The manual reads:

"This |~/.config/guix/current| profile works like any other profile 
created by |guix package| (see Invoking guix package 
<https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-package.html#Invoking-guix-package>). 
That is, you can list generations, roll back to the previous 
generation—i.e., the previous Guix—and so on:

$ guix package -p ~/.config/guix/current --roll-back
switched from generation 3 to 2
$ guix package -p ~/.config/guix/current --delete-generations=1
deleting /home/charlie/.config/guix/current-1-link"

Users without a working guix is not helped by this.
Ie they get errors when trying to run guix package -p ...:
"Missing guile-gcrypt bla bla"

I suggest a note below this saying:
"Note: if your have wound up with a faulty guix after a "guix pull" you 
can manually run an older version by looking at the symlinks in your 
/user/home/.config/guix/ directory.
E.g. if it lists:
$ ls -l /root/.config/guix/
total 0
lrwxrwxrwx 1 root root 33 Nov  4 01:24 current -> 
/root/.config/guix/current-1-link
...
Then your faulty guix is in current-1-link, and your former probably 
well working guix is in an older symlink, e.g. current-2-link.
To run the guix-version before the last pull in the example above, run:
/root/.config/guix/current-2-link/bin/guix

Now go ahead and use that older guix to roll back as described above."

What do you think?
-- 
Cheers Swedebugia

[-- Attachment #2: Type: text/html, Size: 2113 bytes --]

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

* Re: doc: Proposed note about symlinks in section "invoking guix pull"
  2018-11-12 23:05 doc: Proposed note about symlinks in section "invoking guix pull" swedebugia
@ 2018-11-14 11:23 ` Ludovic Courtès
  2018-11-14 19:20   ` swedebugia
  0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2018-11-14 11:23 UTC (permalink / raw)
  To: swedebugia; +Cc: guix-devel

Hello,

swedebugia <swedebugia@riseup.net> skribis:

> "Note: if your have wound up with a faulty guix after a "guix pull" you can manually run an older version by looking at the symlinks in your /user/home/.config/guix/ directory.
> E.g. if it lists: 
> $ ls -l /root/.config/guix/
> total 0
> lrwxrwxrwx 1 root root 33 Nov  4 01:24 current -> /root/.config/guix/current-1-link
> ...
> Then your faulty guix is in current-1-link, and your former probably well working guix is in an older symlink, e.g. current-2-link. 
> To run the guix-version before the last pull in the example above, run:
> /root/.config/guix/current-2-link/bin/guix
>
> Now go ahead and use that older guix to roll back as described above."
>
> What do you think?

I think you’re describing a terrible bug, but a bug that’s behind us
AFAIK.  I’m reluctant to documenting an old bug that’s hopefully no
longer relevant; I think it would clutter the manual.

Does that make sense?

Ludo’.

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

* Re: doc: Proposed note about symlinks in section "invoking guix pull"
  2018-11-14 11:23 ` Ludovic Courtès
@ 2018-11-14 19:20   ` swedebugia
  2018-11-16 18:15     ` Ludovic Courtès
  0 siblings, 1 reply; 5+ messages in thread
From: swedebugia @ 2018-11-14 19:20 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On 2018-11-14 12:23, Ludovic Courtès wrote:
> Hello,
> 
> swedebugia <swedebugia@riseup.net> skribis:
> 
>> "Note: if your have wound up with a faulty guix after a "guix pull" you can manually run an older version by looking at the symlinks in your /user/home/.config/guix/ directory.
>> E.g. if it lists:
>> $ ls -l /root/.config/guix/
>> total 0
>> lrwxrwxrwx 1 root root 33 Nov  4 01:24 current -> /root/.config/guix/current-1-link
>> ...
>> Then your faulty guix is in current-1-link, and your former probably well working guix is in an older symlink, e.g. current-2-link.
>> To run the guix-version before the last pull in the example above, run:
>> /root/.config/guix/current-2-link/bin/guix
>>
>> Now go ahead and use that older guix to roll back as described above."
>>
>> What do you think?
> 
> I think you’re describing a terrible bug, but a bug that’s behind us
> AFAIK.  I’m reluctant to documenting an old bug that’s hopefully no
> longer relevant; I think it would clutter the manual.

What makes you think it is behind us?

There are probably a handful of our users who has old guix installations.

This will not go away anytime soon unless we state very clearly how to 
deal with it when they try to "pull". Maybe the manual is not the best 
place for this.

We could start by putting a big WARNING to users somewhere noticeable 
when the guix they run is deprecated beyond repair.

E.g. before 1.0 implement something that we can trigger to make older 
guix signal to the user that they should reinstall instead of running 
"guix pull" to no avail.

E.g.
"*** Warning: Your guix is so outdated that guix pull is not supported. 
Please reinstall or otherwise obtain a newer guix binary e.g. by guix 
copy from another machine.***

Thoughts?

-- 
Cheers
Swedebugia

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

* Re: doc: Proposed note about symlinks in section "invoking guix pull"
  2018-11-14 19:20   ` swedebugia
@ 2018-11-16 18:15     ` Ludovic Courtès
  2018-11-16 22:58       ` swedebugia
  0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2018-11-16 18:15 UTC (permalink / raw)
  To: swedebugia; +Cc: guix-devel

Hi,

swedebugia <swedebugia@riseup.net> skribis:

> On 2018-11-14 12:23, Ludovic Courtès wrote:
>> Hello,
>>
>> swedebugia <swedebugia@riseup.net> skribis:
>>
>>> "Note: if your have wound up with a faulty guix after a "guix pull" you can manually run an older version by looking at the symlinks in your /user/home/.config/guix/ directory.
>>> E.g. if it lists:
>>> $ ls -l /root/.config/guix/
>>> total 0
>>> lrwxrwxrwx 1 root root 33 Nov  4 01:24 current -> /root/.config/guix/current-1-link
>>> ...
>>> Then your faulty guix is in current-1-link, and your former probably well working guix is in an older symlink, e.g. current-2-link.
>>> To run the guix-version before the last pull in the example above, run:
>>> /root/.config/guix/current-2-link/bin/guix
>>>
>>> Now go ahead and use that older guix to roll back as described above."
>>>
>>> What do you think?
>>
>> I think you’re describing a terrible bug, but a bug that’s behind us
>> AFAIK.  I’m reluctant to documenting an old bug that’s hopefully no
>> longer relevant; I think it would clutter the manual.
>
> What makes you think it is behind us?

I think commit aa227b3be3d7728331a08dbd139c47c9b271dc23 fixes it.  No
matter how old the Guix you’re updating from is, you shouldn’t have this
symlink problem.

> There are probably a handful of our users who has old guix installations.
>
> This will not go away anytime soon unless we state very clearly how to
> deal with it when they try to "pull". Maybe the manual is not the best
> place for this.
>
> We could start by putting a big WARNING to users somewhere noticeable
> when the guix they run is deprecated beyond repair.

No, I think that’s a misunderstanding of the problem.

If you run ‘guix pull’ from 0.15.0, say, it will complete fine.  Next
time you run ‘guix pull’ or ‘guix pull -l’, it will automatically
move ~/.config/guix/current-*-link to /var/guix/profiles/per-user/$USER.

The bug was that this automatic migration was buggy prior to
aa227b3be3d7728331a08dbd139c47c9b271dc23, which could leave you with
broken symlinks.

I hope this clarifies the situation!

Thanks,
Ludo’.

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

* Re: doc: Proposed note about symlinks in section "invoking guix pull"
  2018-11-16 18:15     ` Ludovic Courtès
@ 2018-11-16 22:58       ` swedebugia
  0 siblings, 0 replies; 5+ messages in thread
From: swedebugia @ 2018-11-16 22:58 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On 2018-11-16 19:15, Ludovic Courtès wrote:

snip

> If you run ‘guix pull’ from 0.15.0, say, it will complete fine.  Next
> time you run ‘guix pull’ or ‘guix pull -l’, it will automatically
> move ~/.config/guix/current-*-link to /var/guix/profiles/per-user/$USER.
> 
> The bug was that this automatic migration was buggy prior to
> aa227b3be3d7728331a08dbd139c47c9b271dc23, which could leave you with
> broken symlinks.

Ok!

> 
> I hope this clarifies the situation!

Yes, thanks. I trust your dev-fu and hope you are right ;-)


-- 
Cheers
Swedebugia

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

end of thread, other threads:[~2018-11-16 22:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-12 23:05 doc: Proposed note about symlinks in section "invoking guix pull" swedebugia
2018-11-14 11:23 ` Ludovic Courtès
2018-11-14 19:20   ` swedebugia
2018-11-16 18:15     ` Ludovic Courtès
2018-11-16 22:58       ` swedebugia

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.