diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-10-04 10:24:34 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-10-04 10:24:34 +0200 |
commit | 1d0be47ab680db938ac8da1ee65e1de91e198f67 (patch) | |
tree | dfef17bb5cd3caef636bc2bfc631a4e67b10170f | |
parent | ff30bb010bdce50f92eea0ad64280c9701a2687d (diff) | |
download | guix-1d0be47ab680db938ac8da1ee65e1de91e198f67.tar guix-1d0be47ab680db938ac8da1ee65e1de91e198f67.tar.gz |
progress: Generate valid 'download-progress' traces when the size is unknown.
Fixes <https://bugs.gnu.org/32895>.
Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.
* guix/progress.scm (progress-reporter/trace): In 'stop', make sure SIZE
is an integer. Previously we'd generate a "@ download-progress" trace
with #f for the 'transferred' number when downloading files whose size
is not known in advance.
-rw-r--r-- | guix/progress.scm | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/guix/progress.scm b/guix/progress.scm index 3b9ff408cd..f846944952 100644 --- a/guix/progress.scm +++ b/guix/progress.scm @@ -304,12 +304,12 @@ progress reports, write \"build trace\" lines to be processed elsewhere." log-port))) (report (rate-limited report-progress %progress-interval)) (stop (lambda () - (report-progress size) - (display (format #f "@ download-succeeded ~a ~a ~a~%" - file url - (or (and=> (stat file #f) stat:size) - size)) - log-port))))) + (let ((size (or (and=> (stat file #f) stat:size) + size))) + (report-progress size) + (display (format #f "@ download-succeeded ~a ~a ~a~%" + file url size) + log-port)))))) ;; TODO: replace '(@ (guix build utils) dump-port))'. (define* (dump-port* in out |