installer: Do not set the locale in run-command.

Installing the locale inside the container, once the cow-store is mounted,
causes the process to keep opened locale files that can later prevent the
cow-store umount.

* gnu/installer/utils.scm (run-command): Remove locale argument.
* gnu/installer/final.scm (install-system): Adapt it.
This commit is contained in:
Mathieu Othacehe 2021-12-30 11:31:45 +01:00
parent 7c923e6cf4
commit 0c9693d8b3
No known key found for this signature in database
GPG key ID: 8354763531769CA6
2 changed files with 5 additions and 18 deletions

View file

@ -191,9 +191,8 @@ (define (assert-exit x)
(lambda ()
(with-error-to-file "/dev/console"
(lambda ()
(run-command install-command
#:locale locale)))))
(run-command install-command #:locale locale))))
(run-command install-command)))))
(run-command install-command))))
(lambda ()
;; Restart guix-daemon so that it does no keep the MNT namespace
;; alive.

View file

@ -74,9 +74,9 @@ (define (read-percentage percentage)
(and result
(string->number (match:substring result 1)))))
(define* (run-command command #:key locale)
"Run COMMAND, a list of strings, in the given LOCALE. Return true if
COMMAND exited successfully, #f otherwise."
(define* (run-command command)
"Run COMMAND, a list of strings. Return true if COMMAND exited
successfully, #f otherwise."
(define env (environ))
(define (pause)
@ -90,18 +90,6 @@ (define (pause)
(setenv "PATH" "/run/current-system/profile/bin")
(when locale
(let ((supported? (false-if-exception
(setlocale LC_ALL locale))))
;; If LOCALE is not supported, then set LANGUAGE, which might at
;; least give us translated messages.
(if supported?
(setenv "LC_ALL" locale)
(setenv "LANGUAGE"
(string-take locale
(or (string-index locale #\_)
(string-length locale)))))))
(guard (c ((invoke-error? c)
(newline)
(format (current-error-port)