Subject: [bug#42481] [PATCH 0/2] Printing a more concise build plan

From: Ludovic Courtès <[email-masked]>
Date: Fri, 31 Jul 2020 18:34:49 +0200

Hello Guix!

Thoughts on this change?

I think it’s a good idea but I’d be happy to hear what people think!

  https://issues.guix.gnu.org/42481

Ludo’.

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

> Hello Guix!
>
> These patches implement a suggestion Pierre made a while back:
> showing by default fewer details about what will/would be built
> or downloaded, and omitting info about grafts and hooks.
>
> The verbosity level here is controlled via the existing
> ‘--verbosity’ or ‘-v’ flag (which thus now control two things).
>
> Here are examples of the result:
>
> $ ./pre-inst-env guix system disk-image --target=i586-pc-gnu gnu/system/examples/bare-hurd.tmpl -n --no-grafts
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> The following derivations would be built:
>    /gnu/store/y2inlprxbigqvknm5qwjwsqgljxfbri4-disk-image.drv
>    /gnu/store/gclxh7i8smp71hz0p7wcj6qkf377wigy-image-dir.drv
>    /gnu/store/21fin1j5pnjzfwbc70wdpzl3iyjym8xp-genimage.cfg.drv
>    /gnu/store/aqcziad6ghfaainjibpdfypc8m2rr1vm-partition.img.drv
>    /gnu/store/484d4fd9q9827bc09ia8bi1dgxl8gpwn-grub.cfg.drv
>    /gnu/store/nnldmy339w9xxnybir48w14yz2xk0pmx-system.drv
>
> [...]
>
>    /gnu/store/ddxz08xvasphckdralifb624y3c7hrkx-rc.drv
>    /gnu/store/kq9qvn0m063m02cxf4kjipkf6x8vbvip-profile.drv
>    /gnu/store/y9if6nrykcqfnzxvb4cci2nzhmz1ipx5-parameters.drv
>    /gnu/store/w09j0p6126qcacylb455m5dn008yi04g-module-import.drv
> 49.9 MB would be downloaded
>
>
> Same with grafts:
>
> $ ./pre-inst-env guix system disk-image --target=i586-pc-gnu gnu/system/examples/bare-hurd.tmpl -n
> 36.2 MB would be downloaded
>
>
> With ‘guix package’:
>
> $ ./pre-inst-env guix install vim-full krita -n
> The following packages would be installed:
>    vim-full 8.2.1145
>    krita    4.2.9
>
> 76.9 MB would be downloaded
> $ ./pre-inst-env guix install vim-full krita -n --no-grafts
> The following packages would be installed:
>    vim-full 8.2.1145
>    krita    4.2.9
>
> The following derivation would be built:
>    /gnu/store/shf0anw8l0y9hg4l8qp1fym4bvwq5kh9-profile.drv
> 76.9 MB would be downloaded
> $ ./pre-inst-env guix install inkscape hugin -n
> The following package would be upgraded:
>    inkscape (dependencies or package changed)
>
> The following package would be installed:
>    hugin 2019.2.0
>
> The following derivation would be built:
>    /gnu/store/lsi56ap8lzchfy8y76y7wirzfiqvb3ca-hugin-2019.2.0.drv
> 46.2 MB would be downloaded
>
>
> The current behavior is obtain with ‘-v2’, which remains the
> default for ‘guix build’:
>
> $ ./pre-inst-env guix build inkscape hugin -n
> The following derivation would be built:
>    /gnu/store/lsi56ap8lzchfy8y76y7wirzfiqvb3ca-hugin-2019.2.0.drv
> 46.2 MB would be downloaded:
>    /gnu/store/3jvjmwm0srgxxjwngv28bif8l4ksfbnp-autotrace-0.40.0-20190624.59
>    /gnu/store/gg36g9h2nzmq4dzrcr21ndb09nybqys0-inkscape-1.0
>    /gnu/store/n94n0ggdhck5a2prsd1r468x3p6i68p4-enblend-enfuse-4.2
>    /gnu/store/89rj5fqcg48afgk99639ds602pgf92k4-cmake-minimal-3.16.5
>    /gnu/store/0i4h5cf1a71pj319svzz88g2z07cvdk3-wxwidgets-3.0.5.1
>    /gnu/store/bwz9f0lg9lxscj6jfcgxmzqng3s1f1n3-vigra-1.11.1
>
> It’s also possible to use ‘-v0’ now.
>
> How does that sound?
>
> Personally, I’m find it a bit disconcerting that so few is displayed
> when substitutes are available, but it also feels more “lightweight”
> this way.  I really like that what would be built appears clearly,
> whereas now you have to scroll up possibly several pages to find
> that info, especially upon ‘guix upgrade’.
>
> Feedback welcome!
>
> Ludo’.
>
> Ludovic Courtès (2):
>   ui: Add #:verbosity to 'show-what-to-build'.
>   scripts: Pass #:verbosity to 'build-notifier'.
>
>  guix/scripts/archive.scm     |   2 +
>  guix/scripts/build.scm       |   2 +
>  guix/scripts/copy.scm        |   2 +
>  guix/scripts/deploy.scm      |   4 +-
>  guix/scripts/environment.scm |   2 +
>  guix/scripts/pack.scm        |   2 +
>  guix/scripts/package.scm     |   2 +
>  guix/scripts/pull.scm        |   2 +
>  guix/scripts/system.scm      |  11 ++-
>  guix/ui.scm                  | 175 ++++++++++++++++++++++-------------
>  10 files changed, 135 insertions(+), 69 deletions(-)