scripts: discover: Report Avahi errors.
Fixes: <https://issues.guix.gnu.org/48561>. * guix/scripts/discover (guix-discover): Report Avahi errors.master
parent
fbabf0bec6
commit
7003b2db52
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; 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>
|
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
|
@ -26,6 +26,7 @@
|
||||||
#:use-module (guix build syscalls)
|
#:use-module (guix build syscalls)
|
||||||
#:use-module (guix build utils)
|
#:use-module (guix build utils)
|
||||||
#:use-module (guix scripts publish)
|
#:use-module (guix scripts publish)
|
||||||
|
#:use-module (avahi)
|
||||||
#:use-module (ice-9 rdelim)
|
#:use-module (ice-9 rdelim)
|
||||||
#:use-module (srfi srfi-37)
|
#:use-module (srfi srfi-37)
|
||||||
#:export (read-substitute-urls
|
#:export (read-substitute-urls
|
||||||
|
@ -138,5 +139,16 @@ to synchronize with the writer."
|
||||||
(parameterize ((%publish-file publish-file))
|
(parameterize ((%publish-file publish-file))
|
||||||
(mkdir-p (dirname publish-file))
|
(mkdir-p (dirname publish-file))
|
||||||
(false-if-exception (delete-file publish-file))
|
(false-if-exception (delete-file publish-file))
|
||||||
(avahi-browse-service-thread service-proc
|
(catch 'avahi-error
|
||||||
#:types %services)))))
|
(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)))))))
|
||||||
|
|
Reference in New Issue