GNU bug report logs - #31907
New users get wrong/old profile path to guix after reconfiguring

Previous Next

Package: guix;

Reported by: swedebugia <swedebugia <at> riseup.net>

Date: Wed, 20 Jun 2018 03:20:02 UTC

Severity: normal

Done: swedebugia <swedebugia <at> riseup.net>

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 31907 in the body.
You can then email your comments to 31907 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#31907; Package guix. (Wed, 20 Jun 2018 03:20:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to swedebugia <swedebugia <at> riseup.net>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Wed, 20 Jun 2018 03:20:02 GMT) Full text and rfc822 format available.

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

From: swedebugia <swedebugia <at> riseup.net>
To: Bug-guix <at> gnu.org
Subject: New users get wrong/old profile path to guix after reconfiguring 
Date: Wed, 20 Jun 2018 05:18:57 +0200
[Message part 1 (text/plain, inline)]
Hi

Steps to reproduce:
Install 0.14
Init system with user a
Login root
Guix pull
Make sure it has right paths to .config/guix/current
Reconfigure with new user b
Reboot
Login user b

When logging in slim? populates the dot-files and a  .guix-profile is created with path to old guix. No .config/guix/current exist. 
-- 
Cheers Swedebugia 
[Message part 2 (text/html, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#31907; Package guix. (Wed, 20 Jun 2018 21:36:02 GMT) Full text and rfc822 format available.

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

From: ludo <at> gnu.org (Ludovic Courtès)
To: swedebugia <swedebugia <at> riseup.net>
Cc: 31907 <at> debbugs.gnu.org
Subject: Re: bug#31907: New users get wrong/old profile path to guix after
 reconfiguring
Date: Wed, 20 Jun 2018 23:35:35 +0200
Hello swedebugia,

swedebugia <swedebugia <at> riseup.net> skribis:

> Steps to reproduce:
> Install 0.14
> Init system with user a
> Login root
> Guix pull
> Make sure it has right paths to .config/guix/current
> Reconfigure with new user b
> Reboot
> Login user b
>
> When logging in slim? populates the dot-files and a  .guix-profile is created with path to old guix. No .config/guix/current exist. 

~/.config/guix/current is created by the new ‘guix pull’.  So when
coming from 0.14, you actually need to run it twice: the first run will
give you the new ‘guix pull’, and the second run will actually run the
new code and create ~/.config/guix/current.

Could it be the reason you didn’t see ~/.config/guix/current?

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#31907; Package guix. (Tue, 26 Jun 2018 11:07:01 GMT) Full text and rfc822 format available.

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

From: swedebugia <at> riseup.net
To: ludo <at> gnu.org
Cc: 31907 <at> debbugs.gnu.org
Subject: Re: bug#31907: New users get wrong/old profile path to guix after
 reconfiguring
Date: Tue, 26 Jun 2018 04:06:01 -0700
On 2018-06-20 23:35, ludo <at> gnu.org wrote:
> Hello swedebugia,

..snip 
 
> ~/.config/guix/current is created by the new ‘guix pull’.  So when
> coming from 0.14, you actually need to run it twice: the first run will
> give you the new ‘guix pull’, and the second run will actually run the
> new code and create ~/.config/guix/current.

I understand. This is not the problem.

I wrote yesterday on #guix:

<sdb> hi guix
<sdb> I wonder if any of "pull" or "system reconfigure" update the guix
in the system profile?
<sdb> My system profile in sdb1 <at> antelope ~$ ls -l
/run/current-system/profile/bin/guix
<sdb> lrwxrwxrwx 2 root root 75  1 jan  1970
/run/current-system/profile/bin/guix ->
/gnu/store/avg3vnk6p752z8iwld6yzv1wg7ki48vp-guix-0.14.0-13.7af5c2a/bin/guix
<sdb> even though I have pulled and reconfigured multiple times:
<sdb> as root
<sdb> root <at> antelope /home/sdb1# guix pull -l
<sdb> Generation 1 jun 18 2018 19:26:00
<sdb>   guix b4eae99
<sdb>     repository URL: https://git.savannah.gnu.org/git/guix.git
<sdb>     commit: b4eae997fe5b928f179c34d281e9f2c3eccd3670
<sdb> Generation 2 jun 22 2018 20:48:03 (current)
<sdb>   guix 8edebd3
<sdb>     repository URL: https://git.savannah.gnu.org/git/guix.git
<sdb>     commit: 8edebd3207335aff15081458e895104ac9f45d3d
<sdb> You could ask: why care about the guix version in the system
profile at all? It is not used as soon as you run guix pull or populated
the .config/guix some other way and adjusted the this to preceede in the
PATH.
<sdb> I care because if I create a new user via config.scm they by
default get access to an outdated guix when a newer is available. This
is in my view a bug.

Maybe its me who do not fully understand how system profiles is supposed
to work. I tried looking into the source but it was not clear to me how
it is supposed to work together.

The manual does not mention when/how the system profile gets updated. I
supposed it happens when a new profile derivation is built during
reconfigure. Maybe this is not correct. Maybe guix is supposed to be in
the system profile after all (I dont specify it in my config.scm ATM and
none of the templates do either)

Cheers
sdb




Information forwarded to bug-guix <at> gnu.org:
bug#31907; Package guix. (Tue, 26 Jun 2018 15:11:02 GMT) Full text and rfc822 format available.

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

From: Dan Partelly <dan_partelly <at> rdsor.ro>
To: swedebugia <swedebugia <at> riseup.net>
Cc: 31907 <at> debbugs.gnu.org, ludo <at> gnu.org
Subject: Re: bug#31907: New users get wrong/old profile path to guix after
 reconfiguring
Date: Tue, 26 Jun 2018 14:45:47 +0300
Well, I wondered myself , and I was palning to test when I arrive home today.

But here is my take:

1. Premise: The system configuration is declarative. The declarative state should be obeyed all times by the system
2. Implication: running a guix pull (or any other form of update) as any user should not do anything to the guix stored in the system profile
3. Implication: updates of binaries in the system profile should never be  triggered by anything else than a guix reconfigure
4. Implication  creating a new user should result in him seeing the base state of the system , as left by guix reconfigure . It should never see any version installed by any other user , root included.

Now the issues:

- Although the system is declarative, once you run guix config / guys reconfigure you do not know the whole state of the system. Arbitrary package versions are installed, and reconfigure will arbitrary update those packages
- the only way I seen to have consistent state is to lock all system packages to a known version, and reconfigure should obey the lock.
-running guix reconfigure is an  issue at the current time.  It is because unless you lock each  package @version (and I did not tried t see if this works , a developer should confirm, or point to some good workarround) adding a user, changing system configuration in some othe small way 
  seems to trigger a rebuild
- there is no guarantee that GuixSD will offer you a substitution instead of building the derivation. Which if you are unfortunate to update a package for which is not prebuilt substitution you will end up looking at compiles wearing out your time. 
-it may cause rebuild of critical system daemons, then, guess what, stop them and reload. You have to be very careful and run dry builds to see if anyone touches your system services, cause you do not want unplanned service outage on a server. 
-it reports success even if it fails to bring the system in the required state. For example for me reconfigure failed to restart 2 services it stopped, but it happily reported all went ok 
- guix is still broken for me: reconfiguring the system results in build errors sometimes. Also results in service errors , like home service not being able to be restarted. 
- guix pull  inflicts all the wrongs of the universe upon its users. No critical system utility should ever update itself from the bleeding edge of a source repository. No matter how genius the developer is, it will always break in too many ways. This is very bad practice.
- guix reconfigure without locked packages does the same offense. will try to update to a version of itself derived directly from development. 

Tools:
  
-  guix still lacks the tools to make sense as a user of what is happening. For example, a guix diff which gives insight what exactly triggered a rebuild. I could not find such a thing. 
-  other tools to keep under control the rebuilding happiness. I have better things to do on my system then looking at walls of compiling , donno for others. I want to add a user , not trigger compiles :P





> On Jun 26, 2018, at 14:06, swedebugia <at> riseup.net wrote:
> 
> ou could ask: why care about the guix version in the system
> profile at all? It is not used as soon as you run guix pull or populated
> the .config/guix some other way and adjusted the this to preceede in the
> PATH.
> <sdb> I care because if I create a new user via config.scm they by
> default get access to an outdated guix when a newer is available. This
> is in my view a bug.






Reply sent to swedebugia <swedebugia <at> riseup.net>:
You have taken responsibility. (Fri, 25 Jan 2019 05:47:01 GMT) Full text and rfc822 format available.

Notification sent to swedebugia <swedebugia <at> riseup.net>:
bug acknowledged by developer. (Fri, 25 Jan 2019 05:47:01 GMT) Full text and rfc822 format available.

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

From: swedebugia <swedebugia <at> riseup.net>
To: 31907-done <at> debbugs.gnu.org
Subject: New users get wrong/old profile path to guix after reconfiguring
Date: Fri, 25 Jan 2019 06:46:41 +0100
[Message part 1 (text/plain, inline)]
Closing. 
-- 
Sent from my p≡p for Android.
[Message part 2 (text/html, inline)]

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

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

Previous Next


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