From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Famulari Subject: bug#24993: Documentation: 'guix pull' needed during SD installation Date: Tue, 22 Nov 2016 23:46:07 -0500 Message-ID: <20161123044607.GA23298@jasmine> References: <7d52d8ee-c253-685b-1871-f908850ee606@alaskasi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47438) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c9PSc-0003D7-7M for bug-guix@gnu.org; Tue, 22 Nov 2016 23:47:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c9PSY-0005lj-9h for bug-guix@gnu.org; Tue, 22 Nov 2016 23:47:06 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:51625) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1c9PSY-0005lN-14 for bug-guix@gnu.org; Tue, 22 Nov 2016 23:47:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1c9PSX-0004ye-MN for bug-guix@gnu.org; Tue, 22 Nov 2016 23:47:01 -0500 Sender: "Debbugs-submit" Resent-Message-ID: Content-Disposition: inline In-Reply-To: <7d52d8ee-c253-685b-1871-f908850ee606@alaskasi.com> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Christopher Howard Cc: 24993@debbugs.gnu.org On Tue, Nov 22, 2016 at 01:25:57PM -0900, Christopher Howard wrote: Welcome Christopher! > In the online installation docs at > , > 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