diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-07-25 18:37:30 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-07-25 19:11:37 +0200 |
commit | 9a6322774db5739f22342e22abc9385479b88ba5 (patch) | |
tree | 3b7359e4a155c59d2757b5a1d401b055359d965c | |
parent | d51bfe242fbe6f3f8f71d723e8fe0c7bbe711ba1 (diff) | |
download | guix-9a6322774db5739f22342e22abc9385479b88ba5.tar.gz guix-9a6322774db5739f22342e22abc9385479b88ba5.zip |
guix system: Report file system errors using 'report-error'.
* guix/scripts/system.scm (check-file-system-availability)[file-system-location*]:
Return a <location> record instead of a string.
[error]: Use 'report-error' instead of 'format'.
Change callers accordingly.
-rw-r--r-- | guix/scripts/system.scm | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 79bfcd7db2..bfd50c7a79 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -565,16 +565,14 @@ any, are available. Raise an error if they're not." (define fail? #f) (define (file-system-location* fs) - (location->string - (source-properties->location - (file-system-location fs)))) + (and=> (file-system-location fs) + source-properties->location)) (let-syntax ((error (syntax-rules () ((_ args ...) (begin (set! fail? #t) - (format (current-error-port) - args ...)))))) + (report-error args ...)))))) (for-each (lambda (fs) (catch 'system-error (lambda () @@ -582,9 +580,9 @@ any, are available. Raise an error if they're not." (lambda args (let ((errno (system-error-errno args)) (device (file-system-device fs))) - (error (G_ "~a: error: device '~a' not found: ~a~%") - (file-system-location* fs) device - (strerror errno)) + (error (file-system-location* fs) + (G_ "device '~a' not found: ~a~%") + device (strerror errno)) (unless (string-prefix? "/" device) (display-hint (format #f (G_ "If '~a' is a file system label, write @code{(file-system-label ~s)} in your @code{device} field.") @@ -594,13 +592,14 @@ label, write @code{(file-system-label ~s)} in your @code{device} field.") (let ((label (file-system-label->string (file-system-device fs)))) (unless (find-partition-by-label label) - (error (G_ "~a: error: file system with label '~a' not found~%") - (file-system-location* fs) label)))) + (error (file-system-location* fs) + (G_ "file system with label '~a' not found~%") + label)))) labeled) (for-each (lambda (fs) (unless (find-partition-by-uuid (file-system-device fs)) - (error (G_ "~a: error: file system with UUID '~a' not found~%") - (file-system-location* fs) + (error (file-system-location* fs) + (G_ "file system with UUID '~a' not found~%") (uuid->string (file-system-device fs))))) uuid) |