guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Reducing default verbosity


From: Danny Milosavljevic
Subject: Re: Reducing default verbosity
Date: Tue, 5 Dec 2017 15:04:37 +0100

Hi Ricardo,

On Tue, 5 Dec 2017 14:33:01 +0100
Ricardo Wurmus <address@hidden> wrote:

> * Reduce package downloads from three lines to one line.  The
>   “Downloading URL” line is only important when things go wrong.
> * Reduce precision in percentages.  The extra digit and the period
>   contribute to visual noise.
> * Widen progress bar, so that it changes more quickly.
> 
>   Before:
>   
>     Downloading 
> https://berlin.guixsd.org/nar/gzip/r43434523452345…-zlib-1.2.11…
>      zlib-1.2.11    151KiB      12.6MiB/s  00:00 [###############] 100.0%
> 
>     Downloading https://berlin.guixsd.org/nar/gzip/rlol…-libpng-1.6.29…
>      libpng-1.6.29  377KiB      10.6MiB/s  00:00 [#############  ]  90.0%
> 
>   After:
> 
>     zlib-1.2.11     151KiB  00:00 [##############################] 100%  
> 12.6MiB/s
>     libpng-1.6.29   377KiB  00:00 [#########################     ]  90%  
> 10.6MiB/s
> 
> * Redirect all build output to log files; as we can’t generally estimate
>   progress I’d use a spinner and maybe display the name of the current
>   build phase and the number of build phases that are left.
> 
>   Building openldap-2.4.45 (2/6)  [‐----->-----------------------]
>   Building openldap-2.4.45 (2/6)  [‐-------------->--------------]
>   Building openldap-2.4.45 (3/6)  [‐----------------------->-----]
>   Building openldap-2.4.45 (4/6)  [‐-----------------<-----------]
>   Building openldap-2.4.45 (4/6)  [-------------<----------------]
> 
>   There are some pretty single character unicode spinners here:
>     https://github.com/pmonks/spinner/blob/master/src/spinner/core.clj
> 
> * Remove double messages that are printed by the daemon and the Guix
>   client, e.g. hash mismatches.  Here’s an example of this:
> 
> --8<---------------cut here---------------start------------->8---
> rekado in ~: guix build guile-sjson
> substitute: updating list of substitutes from 
> 'https://mirror.hydra.gnu.org'... 100.0%
> substitute: updating list of substitutes from 
> 'https://mirror.hydra.gnu.org'... 100.0%
> @ build-started 
> /gnu/store/f4a56cwcb45mkd8vgpjprx06rs4vqhws-sjson-0.2.1.tar.gz.drv - 
> x86_64-linux 
> /var/log/guix/drvs/f4//a56cwcb45mkd8vgpjprx06rs4vqhws-sjson-0.2.1.tar.gz.drv.bz2
> 
> Starting download of 
> /gnu/store/59k6bgh00312a0vnha65hzs45b6z6vpq-sjson-0.2.1.tar.gz
> >From https://dustycloud.org/misc/sjson-0.2.1.tar.gz...  
>  ....1.tar.gz  90KiB                757KiB/s 00:00 [####################] 
> 100.0%
> sha256 hash mismatch for output path 
> `/gnu/store/59k6bgh00312a0vnha65hzs45b6z6vpq-sjson-0.2.1.tar.gz'
>   expected: 0mzmapln79vv10qxaggz9qwcdbag3jnrj19xx8bgkmxss8h03sv3
>   actual:   1mzmapln79vv10qxaggz9qwcdbag3jnrj19xx8bgkmxss8h03sv3
> @ build-failed 
> /gnu/store/f4a56cwcb45mkd8vgpjprx06rs4vqhws-sjson-0.2.1.tar.gz.drv - 1 sha256 
> hash mismatch for output path 
> `/gnu/store/59k6bgh00312a0vnha65hzs45b6z6vpq-sjson-0.2.1.tar.gz'
>   expected: 0mzmapln79vv10qxaggz9qwcdbag3jnrj19xx8bgkmxss8h03sv3
>   actual:   1mzmapln79vv10qxaggz9qwcdbag3jnrj19xx8bgkmxss8h03sv3
> cannot build derivation 
> `/gnu/store/l14gbyb0n7wb2j1ff7ixqah93afzjxia-guile-sjson-0.2.1.drv': 1 
> dependencies couldn't be built
> guix build: error: build failed: build of 
> `/gnu/store/l14gbyb0n7wb2j1ff7ixqah93afzjxia-guile-sjson-0.2.1.drv' failed
> rekado in ~: 
> --8<---------------cut here---------------end--------------->8---
> 
> What do you think?

That would be very nice.

I think I tried to do something like the log file stuff before.  The build 
daemon chooses the log filename and only tells guix frontend about it on 
success or something.  So not sure whether it would be easy to access the build 
logs on failure.  I forgot the details, it has been months.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]