unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* bug#27162: [PATCH 0/6] Display how much will be downloaded
@ 2017-05-31 13:49 Ludovic Courtès
  2017-05-31 13:51 ` bug#27162: [PATCH 1/6] derivations: 'substitution-oracle' returns a <substitutable> Ludovic Courtès
  2017-05-31 19:42 ` bug#27162: [PATCH 0/6] Display how much will be downloaded Maxim Cournoyer
  0 siblings, 2 replies; 13+ messages in thread
From: Ludovic Courtès @ 2017-05-31 13:49 UTC (permalink / raw)
  To: 27162

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-06-02 16:50 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-31 13:49 bug#27162: [PATCH 0/6] Display how much will be downloaded Ludovic Courtès
2017-05-31 13:51 ` bug#27162: [PATCH 1/6] derivations: 'substitution-oracle' returns a <substitutable> Ludovic Courtès
2017-05-31 13:51   ` bug#27162: [PATCH 2/6] derivations: 'derivation-prerequisites-to-build' returns <substitutable> Ludovic Courtès
2017-05-31 13:51   ` bug#27162: [PATCH 3/6] ui: 'show-what-to-build' displays how much will be downloaded Ludovic Courtès
2017-05-31 13:51   ` bug#27162: [PATCH 4/6] syscalls: Provide 'free-disk-space' Ludovic Courtès
2017-05-31 13:51   ` bug#27162: [PATCH 5/6] ui: 'show-what-to-build' warns when we don't have enough disk space Ludovic Courtès
2017-05-31 13:51   ` bug#27162: [PATCH 6/6] substitute: Do not display the installed size Ludovic Courtès
2017-05-31 19:42 ` bug#27162: [PATCH 0/6] Display how much will be downloaded Maxim Cournoyer
2017-05-31 20:48   ` Ludovic Courtès
2017-05-31 21:39   ` Danny Milosavljevic
2017-05-31 22:02     ` Maxim Cournoyer
2017-06-02 16:49       ` Ludovic Courtès
2017-06-01 11:19     ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).