GNU bug report logs - #39195
guix pull switching between profiles/per-user and profiles/default

Previous Next

Package: guix;

Reported by: jimmy <at> thrasibule.mx

Date: Sun, 19 Jan 2020 19:29:02 UTC

Severity: normal

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

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 39195 in the body.
You can then email your comments to 39195 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#39195; Package guix. (Sun, 19 Jan 2020 19:29:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to jimmy <at> thrasibule.mx:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sun, 19 Jan 2020 19:29:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jimmy Thrasibule <jimmy.thrasibule <at> gmail.com>
To: bug-guix <at> gnu.org
Subject: guix pull switching between profiles/per-user and profiles/default
Date: Sun, 19 Jan 2020 20:22:58 +0100
[Message part 1 (text/plain, inline)]
After a fresh Guix install, when calling subsequent ``guix pull`` it will
always try to migrate the profile at ``/root/.cong/guix/current`` between
``/var/guix/profiles/default`` and ``/var/guix/profiles/per-user/root``.

The issue is that if there are any existing links in the target folder,
``guix pull`` will fail:


     guix pull: error: symlink: File exists:
"/var/guix/profiles/per-user/root/current-guix


For example after unpacking the store, the first ``guix pull`` will migrate
the profile to ``profiles/default``:


    # ls -l .config/guix/
    total 0
    lrwxrwxrwx    1 root     root            45 Jan 19 18:33 current ->
/var/guix/profiles/per-user/root/current-guix
    # guix pull
    Migrating profile generations to '/var/guix/profiles/default'...
    Updating channel 'guix' from Git repository at '
https://git.savannah.gnu.org/git/guix.git'...
    [...]


Then calling ``guix pull`` again will fail:


    # ls -l .config/guix/
    total 0
    lrwxrwxrwx    1 root     root            39 Jan 19 18:37 current ->
/var/guix/profiles/default/current-guix
    # guix pull
    Migrating profile generations to '/var/guix/profiles/per-user/root'...
    guix pull: error: symlink: File exists:
"/var/guix/profiles/per-user/root/current-guix"


The workaround is to link back the profile to ``per-user/root`` and delete
``/var/guix/profiles/default/current-guix*``. After this action, any other
``guix pull`` will run as expected.
[Message part 2 (text/html, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#39195; Package guix. (Sun, 19 Jan 2020 22:09:01 GMT) Full text and rfc822 format available.

Message #8 received at 39195 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Jimmy Thrasibule <jimmy.thrasibule <at> gmail.com>
Cc: 39195 <at> debbugs.gnu.org, jimmy <at> thrasibule.mx
Subject: Re: bug#39195: guix pull switching between profiles/per-user and
 profiles/default
Date: Sun, 19 Jan 2020 23:08:33 +0100
Hi,

Jimmy Thrasibule <jimmy.thrasibule <at> gmail.com> skribis:

> For example after unpacking the store, the first ``guix pull`` will migrate
> the profile to ``profiles/default``:

What do you mean by “unpacking the store”?

> The workaround is to link back the profile to ``per-user/root`` and delete
> ``/var/guix/profiles/default/current-guix*``. After this action, any other
> ``guix pull`` will run as expected.

I believe /var/guix/profiles/default is used because neither $USER nor
$LOGNAME were defined, right?

This was fixed here:

  https://git.savannah.gnu.org/cgit/guix.git/commit/?id=c20ba18304ee63f01895f092bb51bc2a9ce3303b

but it’s possible that you were running a version that lacks this fix.

Also, there was a bug on Ubuntu where “sudo guix pull” would misbehave:

  https://issues.guix.gnu.org/issue/36785

Perhaps that’s also what happened here?

Thanks,
Ludo’.




Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Mon, 20 Jan 2020 15:46:01 GMT) Full text and rfc822 format available.

Notification sent to jimmy <at> thrasibule.mx:
bug acknowledged by developer. (Mon, 20 Jan 2020 15:46:02 GMT) Full text and rfc822 format available.

Message #13 received at 39195-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Jimmy Thrasibule <jimmy <at> thrasibule.mx>
Cc: 39195-done <at> debbugs.gnu.org
Subject: Re: bug#39195: guix pull switching between profiles/per-user and
 profiles/default
Date: Mon, 20 Jan 2020 16:45:28 +0100
Hi Jimmy,

Jimmy Thrasibule <jimmy <at> thrasibule.mx> skribis:

>> but it’s possible that you were running a version that lacks this fix.
>
> That's is what I started to understand after playing around a bit. The
> Guix version provided into the archive is old so it was failing back
> to the "default" profile. Once upgraded, the "new" Guix was trying to
> switch back to the "root" profile.
>
> Now with the $USER environment variable set all is working great.

Good to hear.  I guess that’s another reason why we should push a new
release.

Thanks for your feedback!

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#39195; Package guix. (Mon, 20 Jan 2020 16:17:02 GMT) Full text and rfc822 format available.

Message #16 received at 39195 <at> debbugs.gnu.org (full text, mbox):

From: Jimmy Thrasibule <jimmy <at> thrasibule.mx>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 39195 <at> debbugs.gnu.org
Subject: Re: bug#39195: guix pull switching between profiles/per-user and
 profiles/default
Date: Mon, 20 Jan 2020 10:26:10 +0100
> What do you mean by “unpacking the store”?

I'm actually deploying Guix from the archive at
https://ftp.gnu.org/gnu/guix/guix-binary-1.0.1.x86_64-linux.tar.xz in
a Docker container.

> I believe /var/guix/profiles/default is used because neither $USER nor
> $LOGNAME were defined, right?
>
> This was fixed here:
>
>   https://git.savannah.gnu.org/cgit/guix.git/commit/?id=c20ba18304ee63f01895f092bb51bc2a9ce3303b

This is the piece of code I was looking for to understand where this
"default" profile was coming from. The $USER environment variable was
indeed not set into the Docker image. Now that it is done, Guix does
not complain about the profile anymore.

> but it’s possible that you were running a version that lacks this fix.

That's is what I started to understand after playing around a bit. The
Guix version provided into the archive is old so it was failing back
to the "default" profile. Once upgraded, the "new" Guix was trying to
switch back to the "root" profile.

Now with the $USER environment variable set all is working great.




Information forwarded to bug-guix <at> gnu.org:
bug#39195; Package guix. (Mon, 20 Jan 2020 17:08:01 GMT) Full text and rfc822 format available.

Message #19 received at 39195 <at> debbugs.gnu.org (full text, mbox):

From: zimoun <zimon.toutoune <at> gmail.com>
To: 39195 <at> debbugs.gnu.org, Ludovic Courtès <ludo <at> gnu.org>, 
 jimmy <at> thrasibule.mx
Cc: 39195-done <at> debbugs.gnu.org
Subject: Re: bug#39195: guix pull switching between profiles/per-user and
 profiles/default
Date: Mon, 20 Jan 2020 18:06:48 +0100
Hi Ludo,

On Mon, 20 Jan 2020 at 16:46, Ludovic Courtès <ludo <at> gnu.org> wrote:

> Good to hear.  I guess that’s another reason why we should push a new
> release.

I even propose that Guix bumps the minor version each time
core-updates or staging is merged. :-)
Zero cost for us to bump the minor version. And the plus are:

 - a bit easier to navigate; because there more tags in the repo ;-)
 - non rolling release users expect version numbering; other said
current Debian or Ubuntu users are "afraid" to "pull" and be in
"unstable", so they jump only from version to version.

We could add a policy about the bumping the minor version.

What do you think?


Cheers,
simon




Information forwarded to bug-guix <at> gnu.org:
bug#39195; Package guix. (Mon, 20 Jan 2020 17:08:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#39195; Package guix. (Tue, 21 Jan 2020 09:05:02 GMT) Full text and rfc822 format available.

Message #25 received at 39195 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: zimoun <zimon.toutoune <at> gmail.com>
Cc: 39195-done <at> debbugs.gnu.org, 39195 <at> debbugs.gnu.org, jimmy <at> thrasibule.mx
Subject: Re: bug#39195: guix pull switching between profiles/per-user and
 profiles/default
Date: Tue, 21 Jan 2020 10:04:07 +0100
Hi,

zimoun <zimon.toutoune <at> gmail.com> skribis:

> I even propose that Guix bumps the minor version each time
> core-updates or staging is merged. :-)
> Zero cost for us to bump the minor version. And the plus are:
>
>  - a bit easier to navigate; because there more tags in the repo ;-)
>  - non rolling release users expect version numbering; other said
> current Debian or Ubuntu users are "afraid" to "pull" and be in
> "unstable", so they jump only from version to version.
>
> We could add a policy about the bumping the minor version.
>
> What do you think?

I guess semver doesn’t apply to Guix taken as a whole, so version
numbers should be chosen to suggest how “different” the new release is.
That’s pretty subjective, though.

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#39195; Package guix. (Tue, 21 Jan 2020 09:05:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#39195; Package guix. (Tue, 21 Jan 2020 13:50:01 GMT) Full text and rfc822 format available.

Message #31 received at 39195 <at> debbugs.gnu.org (full text, mbox):

From: zimoun <zimon.toutoune <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 39195-done <at> debbugs.gnu.org, 39195 <at> debbugs.gnu.org, jimmy <at> thrasibule.mx
Subject: Re: bug#39195: guix pull switching between profiles/per-user and
 profiles/default
Date: Tue, 21 Jan 2020 14:49:27 +0100
Hi Ludo,

On Tue, 21 Jan 2020 at 10:04, Ludovic Courtès <ludo <at> gnu.org> wrote:

> > We could add a policy about the bumping the minor version.
> >
> > What do you think?
>
> I guess semver doesn’t apply to Guix taken as a whole, so version
> numbers should be chosen to suggest how “different” the new release is.
> That’s pretty subjective, though.

I move the discussion to guix-devel [1] to keep cleaner the Bug Tracker. ;-)

[1] https://lists.gnu.org/archive/html/guix-devel/2020-01/msg00385.html


Cheers,
simon




Information forwarded to bug-guix <at> gnu.org:
bug#39195; Package guix. (Tue, 21 Jan 2020 13:50:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 19 Feb 2020 12:24:07 GMT) Full text and rfc822 format available.

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

Previous Next


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