~ruther/guix-local

fe3e603d14ef55b94d3763619f8c06751fa37ca9 — Ludovic Courtès 13 years ago e31ff8b
refresh: Gracefully handle failure to download a tarball.

* guix/scripts/refresh.scm (guix-refresh): When updating a source file,
  gracefully handle the case where TARBALL is #f.
  Reported by Nikita Karetnikov <nikita@karetnikov.org>.
1 files changed, 15 insertions(+), 7 deletions(-)

M guix/scripts/refresh.scm
M guix/scripts/refresh.scm => guix/scripts/refresh.scm +15 -7
@@ 160,13 160,21 @@ update would trigger a complete rebuild."
                                                                  'version)
                                          (package-location package))))
                          (when version
                            (format (current-error-port)
                                    (_ "~a: ~a: updating from version ~a to version ~a...~%")
                                    (location->string loc) (package-name package)
                                    (package-version package) version)
                            (let ((hash (call-with-input-file tarball
                                          (compose sha256 get-bytevector-all))))
                              (update-package-source package version hash)))))
                            (if (and=> tarball file-exists?)
                                (begin
                                  (format (current-error-port)
                                          (_ "~a: ~a: updating from version ~a to version ~a...~%")
                                          (location->string loc)
                                          (package-name package)
                                          (package-version package) version)
                                  (let ((hash (call-with-input-file tarball
                                                (compose sha256
                                                         get-bytevector-all))))
                                    (update-package-source package version
                                                           hash)))
                                (warning (_ "~a: version ~a could not be \
downloaded and authenticated; not updating")
                                         (package-name package) version)))))
                      packages))
          (for-each (lambda (package)
                      (match (false-if-exception (package-update-path package))