Subject: bug#24993: Documentation: 'guix pull' needed during SD installation

From: Christopher Howard <[email-masked]>
Date: Wed, 23 Nov 2016 07:46:28 -0900

Hi. What I remember happening was that on some package I got an error
something like "could not get package such-and-such, may be caused by
network errors" which wasn't fixed by running the command again. Then I
ran with --fallback as recommended, but then it seemed to be building
the entire gnome desktop from source. After a few hours of this it was
still compiling low-level gnome packages, so I gave up, and the folks at
#guix irc suggested guix pull.

To be honest, I can't remember which package it was. I'll try again with
a fresh installation.

On 11/22/2016 07:46 PM, Leo Famulari wrote:
> On Tue, Nov 22, 2016 at 01:25:57PM -0900, Christopher Howard wrote:
> 
> Welcome Christopher!
> 
>> In the online installation docs at
>> <https://www.gnu.org/software/guix/manual/html_node/Proceeding-with-the-Installation.html#Proceeding-with-the-Installation>,
>> please insert the command 'guix pull' before the "guix system init"
>> command. Otherwise installation can fail due to missing binary packages,
>> which creates confusion for newbie installers like myself. Thank you!
> 
> Can you give more detail about the problems you ran into? We want `guix
> system init` to "just work".
> 
> In general, if some binary fails to be substituted [0], adding
> --fallback to the command should cause the package to be built from
> source, working around the issue.
> 
> I think that running `guix pull` before `guix system init` is not the
> right choice for newbies, although there are some trade-offs [1].
> 
> Most new users will be installing from the binary GuixSD installer
> offered on our web site. This installer is built from a Git commit that
> we have tested to ensure that everything should work. We strive to keep
> our master branch "deployable", but of course we make mistakes
> sometimes. `guix pull` draws from the HEAD commit of the master branch,
> and so new users might end up with a broken system as their first
> experience.  GuixSD is extremely robust once installed — you can always
> roll-back — so it's a good idea to initialize from a known good commit
> and then update.
> 
> Additionally, it's likely that we will not yet have built binary
> substitutes for the most recent changes on the master branch, so new
> users will end up building some things from source if they use `guix
> pull`.
> 
> [0] Guix is a hybrid of build-from-source and binary package management
> systems. It's really a build-from-source distro, but we offer so-called
> "binary substitutes", and they are transparently substituted for a
> source build if they are available and the user has authorized our
> substitutes server. But, if Guix expects a package to be substituted
> and something goes wrong, the action will fail. Using --fallback works
> around this and builds from source even when the substitution fails.
> 
> [1] I think the main drawback of installing from the release tag without
> `guix pull` is that the initial generation of the GuixSD system will be
> lacking important upstream bug fixes. I think users should `guix pull &&
> guix system reconfigure` immediately after initializing the system. Guix
> actually nags users to do this:
> 
> http://git.savannah.gnu.org/cgit/guix.git/tree/guix/scripts/system.scm?id=08b3e4a97066c9baaf39e3df7c2dd9c39e693ead#n577
> 

-- 
Christopher Howard, Computer Assistant
Alaska Satellite Internet
3239 La Ree Way, Fairbanks, AK 99709
907-451-0088 or 888-396-5623 (toll free)
fax: 888-260-3584
mailto:[email-masked]
http://www.alaskasatelliteinternet.com