pull: Create ~/.config/guix if needed instead of bailing out gracelessly.
Previously 'guix pull' would just fail with "No such file or directory" if ~/.config didn't already exist. * guix/ui.scm (config-directory): Use 'mkdir-p' instead of 'mkdir'. Change the 'catch' handler to expect errors different from EEXIST.
This commit is contained in:
parent
24e752c097
commit
5975881687
11
guix/ui.scm
11
guix/ui.scm
|
@ -25,6 +25,7 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system)
|
||||
#:use-module (guix derivations)
|
||||
#:use-module ((guix build utils) #:select (mkdir-p))
|
||||
#:use-module ((guix licenses) #:select (license? license-name))
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-11)
|
||||
|
@ -370,15 +371,13 @@ exists. Honor the XDG specs,
|
|||
(cut string-append <> "/guix"))))
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
(mkdir dir)
|
||||
(mkdir-p dir)
|
||||
dir)
|
||||
(lambda args
|
||||
(match (system-error-errno args)
|
||||
((or EEXIST 0)
|
||||
dir)
|
||||
(err
|
||||
(let ((err (system-error-errno args)))
|
||||
;; ERR is necessarily different from EEXIST.
|
||||
(leave (_ "failed to create configuration directory `~a': ~a~%")
|
||||
dir (strerror err))))))))
|
||||
dir (strerror err)))))))
|
||||
|
||||
(define* (fill-paragraph str width #:optional (column 0))
|
||||
"Fill STR such that each line contains at most WIDTH characters, assuming
|
||||
|
|
Loading…
Reference in New Issue