summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2021-12-30 11:31:45 +0100
committerMathieu Othacehe <othacehe@gnu.org>2022-01-14 14:29:15 +0100
commit0c9693d8b3f9ecd40732ec86b732bbf99f8e8b4d (patch)
treeafb64e9c5e8fb9b82bd950b5796c1d50bf0aa0a7
parent7c923e6cf4412db3ef22792d639b98f8fbf7f037 (diff)
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.
-rw-r--r--gnu/installer/final.scm5
-rw-r--r--gnu/installer/utils.scm18
2 files changed, 5 insertions, 18 deletions
diff --git a/gnu/installer/final.scm b/gnu/installer/final.scm
index c6987e6e58..bef5f9fd52 100644
--- a/gnu/installer/final.scm
+++ b/gnu/installer/final.scm
@@ -191,9 +191,8 @@ or #f. Return #t on success and #f on failure."
(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.
diff --git a/gnu/installer/utils.scm b/gnu/installer/utils.scm
index bb97bc5560..9bd41e2ca0 100644
--- a/gnu/installer/utils.scm
+++ b/gnu/installer/utils.scm
@@ -74,9 +74,9 @@ number. If no percentage is found, return #f"
(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 @@ COMMAND exited successfully, #f otherwise."
(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)