Subject: bug#22629: closed (Re: bug#22629: [PATCH 0/4] 'guix pull' produces a self-contained Guix)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 09 Jun 2018 10:08:02 +0000

Your bug report

#22629: Towards a new 'guix pull'

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
22629: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22629
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#22629: [PATCH 0/4] 'guix pull' produces a self-contained Guix
From: [email-masked] (Ludovic Courtès)
To: [email-masked]
Date: Sat, 09 Jun 2018 12:07:27 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Guix!

Ludovic Courtès <[email-masked]> skribis:

> Here is the “new” ‘guix pull’ that we discussed notably in this thread:
>
>   https://bugs.gnu.org/22629
>
> The major difference is that instead of just building a bunch of modules
> and putting them under ~/.config/guix/latest, it now produces a
> standalone package (with bin/guix, share/info/guix.info, etc.) and puts
> it in a profile under ~/.config/guix/current.  Quoth the manual:

I have just pushed the new ‘guix pull’, with a few improvements compared
to the patches I had sent:

  • Both guix.info and all of guix.LANG.info are now built.

  • The derivation that builds locale data depends only on the po/
    directory, so it won’t be rebuilt every time.  Likewise for the
    derivation that builds the manual.

  • Meta-data about what was pulled is kept in manifest entries, using
    the ‘properties’ discussed in <https://bugs.gnu.org/31442>.
    Currently the UI doesn’t use it but you can see that info in
    ~/.config/guix/current/manifest.

Let me know how it goes!

Ludo’.

Subject: Towards a new 'guix pull'
From: [email-masked] (Ludovic Courtès)
To: [email-masked]
Date: Thu, 11 Feb 2016 11:35:18 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello!

Here’s a series of improvements that I think we should make in ‘guix
pull’:

  • Use Git instead of downloading a whole snapshot every time.  The Git
    checkout would be kept in ~/.cache/guix/pull/checkouts, say.

    A related question is whether to use Git itself, which is pretty big
    per ‘guix size’, or to use some libgit2 bindings such as
    <https://git.dthompson.us/guile-git.git> (the closure of libgit2 is
    435 MiB; that of Git is 761 MiB.)

  • Build & install not only Scheme code, but also locales and the Info
    manual.

  • Have a “channel” mechanism, similar to ‘nix-channel’, that would
    allow users to have several Guix variants available in parallel
    instead of just “latest”.  Could work like this:

      guix channel add latest git://git.sv.gnu.org/guix.git master
      guix channel add stable git://git.sv.gnu.org/guix.git stable
      guix channel pull latest
      guix channel set latest
      # here i see the latest versions of everything
      guix channel set stable
      # and here everything is old but super stable ;-)

All 3 items can be done separately, I think.

Any takers?  :-)

Ludo’.

PS: I do not mention the issue of authenticating code here, which is
    obviously very important and deserves to be treated separately.
    Related to that is the question of making sure that what you think
    is the latest version really is the latest version.  We need someone
    to sign certificates saying what the latest commit ID of a repo is.
    See the “The Update Framework” paper!