Re: "guix-latest" differs when two users run "guix pull" from same commit

2018-01-08 Thread Ludovic Courtès
Mike Gerwitz  skribis:

> On Thu, Dec 07, 2017 at 22:57:17 -0800, Chris Marusich wrote:
>> Chris Marusich  writes:
>>
>>> l...@gnu.org (Ludovic Courtès) writes:
>>>
 Chris Marusich  skribis:

> When two users run "guix pull" using the same commit, two different
> versions of "guix-latest" get built.  This surprised me, and in any case
> it seems inefficient to build the same version of Guix two times.  Why
> do two different derivations get built?

 That’s a bug!  :-)
>>>
>>> I see!  Nice to know my suspicions were correct.
>>
>> Ludo, did you fix this recently?  Anecdotally, I noticed that the
>> problem no longer occurs using a recent version of Guix.
>
> I still seem to have this issue.
>
> My workaround is to just manually symlink ~/.config/guix/latest to the
> same derivation as root's.  Since Ludo said this behavior seems to be a
> bug, can I assume that it is safe to do so?

Yes, it’s a safe workaround.

I do hope to finish and merge ‘wip-pull-reload’ ASAP, which fixes this
among other things…

Ludo’.



Re: "guix-latest" differs when two users run "guix pull" from same commit

2018-01-06 Thread Mike Gerwitz
On Thu, Dec 07, 2017 at 22:57:17 -0800, Chris Marusich wrote:
> Chris Marusich  writes:
>
>> l...@gnu.org (Ludovic Courtès) writes:
>>
>>> Chris Marusich  skribis:
>>>
 When two users run "guix pull" using the same commit, two different
 versions of "guix-latest" get built.  This surprised me, and in any case
 it seems inefficient to build the same version of Guix two times.  Why
 do two different derivations get built?
>>>
>>> That’s a bug!  :-)
>>
>> I see!  Nice to know my suspicions were correct.
>
> Ludo, did you fix this recently?  Anecdotally, I noticed that the
> problem no longer occurs using a recent version of Guix.

I still seem to have this issue.

My workaround is to just manually symlink ~/.config/guix/latest to the
same derivation as root's.  Since Ludo said this behavior seems to be a
bug, can I assume that it is safe to do so?

-- 
Mike Gerwitz
Free Software Hacker+Activist | GNU Maintainer & Volunteer
GPG: D6E9 B930 028A 6C38 F43B  2388 FEF6 3574 5E6F 6D05
https://mikegerwitz.com


signature.asc
Description: PGP signature


Re: "guix-latest" differs when two users run "guix pull" from same commit

2017-12-08 Thread Ludovic Courtès
Chris Marusich  skribis:

> Chris Marusich  writes:
>
>> l...@gnu.org (Ludovic Courtès) writes:
>>
>>> Chris Marusich  skribis:
>>>
 When two users run "guix pull" using the same commit, two different
 versions of "guix-latest" get built.  This surprised me, and in any case
 it seems inefficient to build the same version of Guix two times.  Why
 do two different derivations get built?
>>>
>>> That’s a bug!  :-)
>>
>> I see!  Nice to know my suspicions were correct.
>
> Ludo, did you fix this recently?  Anecdotally, I noticed that the
> problem no longer occurs using a recent version of Guix.

I know that it’s fixed in the new ‘guix pull’ strategy I’ve been working
on¹, but in master nothing has changed.

Ludo’.

¹ https://bugs.gnu.org/27284



Re: "guix-latest" differs when two users run "guix pull" from same commit

2017-12-07 Thread Chris Marusich
Chris Marusich  writes:

> l...@gnu.org (Ludovic Courtès) writes:
>
>> Chris Marusich  skribis:
>>
>>> When two users run "guix pull" using the same commit, two different
>>> versions of "guix-latest" get built.  This surprised me, and in any case
>>> it seems inefficient to build the same version of Guix two times.  Why
>>> do two different derivations get built?
>>
>> That’s a bug!  :-)
>
> I see!  Nice to know my suspicions were correct.

Ludo, did you fix this recently?  Anecdotally, I noticed that the
problem no longer occurs using a recent version of Guix.

-- 
Chris


signature.asc
Description: PGP signature


Re: "guix-latest" differs when two users run "guix pull" from same commit

2017-11-21 Thread Chris Marusich
l...@gnu.org (Ludovic Courtès) writes:

> Chris Marusich  skribis:
>
>> When two users run "guix pull" using the same commit, two different
>> versions of "guix-latest" get built.  This surprised me, and in any case
>> it seems inefficient to build the same version of Guix two times.  Why
>> do two different derivations get built?
>
> That’s a bug!  :-)

I see!  Nice to know my suspicions were correct.

> Can you compare the two ‘guix-latest’ outputs with ‘diff -r’?  I’m
> guessing the difference stems from (guix config).

I've attached the output of the following command:

  diff -r /home/marusich/.config/guix/latest /root/.config/guix/latest

Note that although these two "guix-latest" were built from the same
commit, that commit is NOT the one mentioned earlier in this email
thread.

-- 
Chris


guix-pull-diff
Description: Binary data


signature.asc
Description: PGP signature


"guix-latest" differs when two users run "guix pull" from same commit

2017-11-15 Thread Chris Marusich
Hi,

When two users run "guix pull" using the same commit, two different
versions of "guix-latest" get built.  This surprised me, and in any case
it seems inefficient to build the same version of Guix two times.  Why
do two different derivations get built?

Here's an invocation of "guix pull" as an unprivileged user:

--8<---cut here---start->8---
$ guix pull
...
Building from Git commit ed0f9f53abef57b9f33d3b2eada40375894bdff6...
...
The following derivation will be built:
   /gnu/store/m3x8069x5aspc29m9ay7idndz0kpfxlb-guix-latest.drv
copying and compiling to 
'/gnu/store/dn13gs9w16h5w6l77pnpbclqxnbyhh4m-guix-latest' with Guile 2.2.2...
--8<---cut here---end--->8---

And here's an invocation of "guix pull" as root:

--8<---cut here---start->8---
# guix pull
...
Building from Git commit ed0f9f53abef57b9f33d3b2eada40375894bdff6...
...
The following derivation will be built:
   /gnu/store/675pz9f4qz9dd4jikzcgzv62kjrxfhmg-guix-latest.drv
copying and compiling to 
'/gnu/store/cvc0rf65s3mjw9rjps80ram3898qdws3-guix-latest' with Guile 2.2.2...
--8<---cut here---end--->8---

I am surprised that these two invocations of "guix pull" build different
derivations.  I understand that the overall "guix pull" action requires
side effects outside of the store which will be different depending on
who invoked the command (e.g., to update the $HOME/.config/guix/latest
symlink), but that stuff isn't performed by a derivation.  I expect two
derivations that build Guix (or any software component) from the same
source to be identical, so I am surprised.

I have looked at the source code for "guix pull," and I cannot find any
obvious reason why the derivations should differ.  Does anyone know why
they differ?

-- 
Chris


signature.asc
Description: PGP signature