From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 28 09:13:22 2016 Received: (at 22629) by debbugs.gnu.org; 28 Nov 2016 14:13:22 +0000 Received: from localhost ([127.0.0.1]:44301 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cBMgM-0001ds-9l for submit@debbugs.gnu.org; Mon, 28 Nov 2016 09:13:22 -0500 Received: from eggs.gnu.org ([208.118.235.92]:58908) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cBMgL-0001dg-18 for 22629@debbugs.gnu.org; Mon, 28 Nov 2016 09:13:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cBMgB-000341-B4 for 22629@debbugs.gnu.org; Mon, 28 Nov 2016 09:13:15 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:42578) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cBMgB-00033w-7b; Mon, 28 Nov 2016 09:13:11 -0500 Received: from pluto.bordeaux.inria.fr ([193.50.110.57]:50064 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1cBMgA-0007EJ-GS; Mon, 28 Nov 2016 09:13:10 -0500 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Efraim Flashner Subject: =?utf-8?B?4oCYZ3VpeCBwdWxs4oCZ?= and external dependencies References: <87poma53yi.fsf@gnu.org> <87oa13qimp.fsf@gnu.org> <20161126044257.GA15256@jasmine> <87zikmb7ix.fsf@member.fsf.org> <87k2bok1zm.fsf@gnu.org> <20161128100636.GB2509@macbook42.flashner.co.il> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 8 Frimaire an 225 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Mon, 28 Nov 2016 15:13:08 +0100 In-Reply-To: <20161128100636.GB2509@macbook42.flashner.co.il> (Efraim Flashner's message of "Mon, 28 Nov 2016 12:06:36 +0200") Message-ID: <87vav7ae17.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -7.9 (-------) X-Debbugs-Envelope-To: 22629 Cc: guix-devel@gnu.org, =?utf-8?B?5a6L5paH5q2m?= , 22629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -7.9 (-------) Hi! Efraim Flashner skribis: > If I understand it correctly, as part of `guix pull' we get the latest > package definitions, but `guix' and `guix-daemon' are at the > guix-snapshot version, aka 0.11.0-4. If instead `guix-daemon' was from > the tip of master then it'd be at the equivalant of running > './pre-inst-env guix-daemon --build-users...', which would have all > these changes. What =E2=80=98guix pull=E2=80=99 does is fetch the latest code, build *the = Scheme subset* of that code, and install it in ~/.config/guix/latest. Thus, it gives you the latest package recipes as well as the latest =E2=80=98guix=E2=80=99 sub-commands. What it does not give you is: 1. The latest C++ code (guix-daemon, guix-register). 2. The latest locales. 3. The latest elisp code. 4. The latest dependencies (the Guile that appears in the shebang of the =E2=80=98guix=E2=80=99 command, zlib, Guile-SSH, Guile-JSON, etc.) It worked OK when Guix was self-contained, and assuming people would update guix-daemon through other ways (=E2=80=98guix system reconfigure=E2= =80=99 on GuixSD). But now we see that these shortcomings are starting to bite. So I think what we need to do is for =E2=80=9Cguix pull-ng=E2=80=9D to buil= d and install a complete =E2=80=98guix=E2=80=99 package, and to manage it pretty much lik= e other packages is managed, except not in the user=E2=80=99s main profile (because= that could lead to undesirable behavior, where upgrading Guix creates a new generation, or, in theory, unrecoverable problems, where you cannot roll back because previous generations use an old Guix that does not understand the new manifest format.) The difficulty is that ./configure && make && make install in Guix takes some time, and we probably wouldn=E2=80=99t want to do that on each =E2=80= =98guix pull=E2=80=99 invocation (esp. with Guile 2.2=E2=80=99s compilation times.) So we may have to provide substitutes of Guix itself, and arrange so that =E2=80=98guix pull=E2=80=99 pulls up to a tag for which we have substi= tutes. Ideas welcome! See . Ludo=E2=80=99.