--- Begin Message ---
Subject: |
[PATCH 0/6] Display how much will be downloaded |
Date: |
Wed, 31 May 2017 15:49:41 +0200 |
Hello!
With this patch series, ‘show-what-to-build’ can display the download
size and warn about lack of disk space when needed:
$ ./pre-inst-env guix build synfigstudio -n
substitute: updating list of substitutes from
'https://bayfront.guixsd.org'... 100.0%
10.8 MB would be downloaded:
/gnu/store/jq80lq3xhib81fi2v6j7ygh7mqdjrjsx-synfigstudio-1.2.0
/gnu/store/azvp0257q9yhl0b409q1s6h67pfhaknr-libxml++-3.0.1
/gnu/store/bjmwcqxr32g48jzwc0zc993m8x3ymq5h-synfig-1.2.0
/gnu/store/lxmviq543w2a4ahc4c77i542sl921bbl-mlt-6.4.1
guix build: warning: at least 73.8 MB needed but only 42.0 MB available in
/gnu/store
A couple of notes:
1. Information about the download size is not always available:
‘guix publish --cache’ started producing it in commit
dff3189c7d5d95177ff592789e1bcb73a4adcc9e so there are lots of
cached narinfos that lack this information. After the next
full rebuild though, we should have that everywhere.
When we have no or partial information about the size of substitute
downloads, we fall back to the current behavior.
2. The disk space check should work well when everything is
substitutable, but of course it has no idea how much space will
be needed when building something. For instance, it may forget
to tell you that you need a dozen GB to build WebKit. :-)
Also, it cannot know in advance the extent to which deduplication
will help.
I thought about other changes we could make to the UI, such as display
the download size of each item individually, or displaying the estimated
on-disk size, but thought that keeping the output as simple as this
is preferable.
Thoughts?
Thanks,
Ludo’.
Ludovic Courtès (6):
derivations: 'substitution-oracle' returns a <substitutable>.
derivations: 'derivation-prerequisites-to-build' returns
<substitutable>.
ui: 'show-what-to-build' displays how much will be downloaded.
syscalls: Provide 'free-disk-space'.
ui: 'show-what-to-build' warns when we don't have enough disk space.
substitute: Do not display the installed size.
guix/build/syscalls.scm | 7 ++++
guix/derivations.scm | 47 +++++++++++++++---------
guix/scripts/gc.scm | 8 ++---
guix/scripts/substitute.scm | 10 +-----
guix/ui.scm | 87 ++++++++++++++++++++++++++++++++++-----------
tests/derivations.scm | 8 ++---
6 files changed, 112 insertions(+), 55 deletions(-)
--
2.13.0
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#27162: [PATCH 0/6] Display how much will be downloaded |
Date: |
Fri, 02 Jun 2017 18:49:04 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Hello,
I’ve pushed this patch series, thanks for your feedback!
Ludo’.
--- End Message ---