[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.