From: Dan Partelly <dan_partelly@rdsor.ro>
To: swedebugia <swedebugia@riseup.net>
Cc: 31907@debbugs.gnu.org
Subject: bug#31907: New users get wrong/old profile path to guix after reconfiguring
Date: Tue, 26 Jun 2018 14:45:47 +0300 [thread overview]
Message-ID: <7D5D202B-781A-453A-B8A7-EA8DB38451C6@rdsor.ro> (raw)
In-Reply-To: <68c050778b26c874e04e2b34703cc363@riseup.net>
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@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.
next prev parent reply other threads:[~2018-06-26 15:11 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-20 3:18 bug#31907: New users get wrong/old profile path to guix after reconfiguring swedebugia
2018-06-20 21:35 ` Ludovic Courtès
2018-06-26 11:06 ` swedebugia
2018-06-26 11:45 ` Dan Partelly [this message]
2019-01-25 5:46 ` swedebugia
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7D5D202B-781A-453A-B8A7-EA8DB38451C6@rdsor.ro \
--to=dan_partelly@rdsor.ro \
--cc=31907@debbugs.gnu.org \
--cc=swedebugia@riseup.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.