installer: Do not set the locale in run-command.
authorMathieu Othacehe <othacehe@gnu.org>
Thu, 30 Dec 2021 10:31:45 +0000 (11:31 +0100)
committerMathieu Othacehe <othacehe@gnu.org>
Fri, 14 Jan 2022 13:29:15 +0000 (14:29 +0100)
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.

gnu/installer/final.scm
gnu/installer/utils.scm

index c6987e6..bef5f9f 100644 (file)
@@ -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.
index bb97bc5..9bd41e2 100644 (file)
@@ -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)