diff options
author | Mathieu Othacehe <othacehe@gnu.org> | 2021-05-21 15:21:15 +0200 |
---|---|---|
committer | Mathieu Othacehe <othacehe@gnu.org> | 2021-05-22 14:04:19 +0200 |
commit | 7003b2db526fc367664f3a7c4bdbe38a7c717da6 (patch) | |
tree | 2b1de180d82bc5549a79088b6e56978c9ee7dd26 /guix/scripts | |
parent | fbabf0bec61c88755d6dd238717a356ca3a20b80 (diff) |
scripts: discover: Report Avahi errors.
Fixes: <https://issues.guix.gnu.org/48561>.
* guix/scripts/discover (guix-discover): Report Avahi errors.
Diffstat (limited to 'guix/scripts')
-rw-r--r-- | guix/scripts/discover.scm | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/guix/scripts/discover.scm b/guix/scripts/discover.scm index be1eaa6e95..dadade81bb 100644 --- a/guix/scripts/discover.scm +++ b/guix/scripts/discover.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2020 Mathieu Othacehe <othacehe@gnu.org> +;;; Copyright © 2020, 2021 Mathieu Othacehe <othacehe@gnu.org> ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -26,6 +26,7 @@ #:use-module (guix build syscalls) #:use-module (guix build utils) #:use-module (guix scripts publish) + #:use-module (avahi) #:use-module (ice-9 rdelim) #:use-module (srfi srfi-37) #:export (read-substitute-urls @@ -138,5 +139,16 @@ to synchronize with the writer." (parameterize ((%publish-file publish-file)) (mkdir-p (dirname publish-file)) (false-if-exception (delete-file publish-file)) - (avahi-browse-service-thread service-proc - #:types %services))))) + (catch 'avahi-error + (lambda () + (avahi-browse-service-thread service-proc + #:types %services)) + (lambda (key err function . _) + (cond + ((eq? err error/no-daemon) + (warning (G_ "Avahi daemon is not running, \ +cannot auto-discover substitutes servers.~%"))) + (else + (report-error (G_ "an Avahi error was raised by `~a': ~a~%") + function (error->string err)))) + (exit 1))))))) |