[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#66156] [PATCH 05/12] services: guix: Use the right locale package o
From: |
Ludovic Courtès |
Subject: |
[bug#66156] [PATCH 05/12] services: guix: Use the right locale package on GNU/Hurd. |
Date: |
Fri, 22 Sep 2023 14:54:06 +0200 |
Fixes a bug introduced in 0dd293b4d9095137c9952e16ca951f887b7e7018
whereby guix-daemon on GNU/Hurd would have ‘GUIX_LOCPATH’ set to the
“wrong” locale data (2.35 instead of 2.37).
Consequently, it would fail to setlocale(3) and calls to
‘std::stoi’ (when reading the output of ‘guix authenticate’) would
throw, leading to this error message of guix-daemon:
unexpected build daemon error: stoi
This would manifest when sending store items to a childhurd:
$ guix copy --to=localhost:10022 sed
guix copy: sending 1 store item (1 MiB) to 'localhost'...
guix copy: error: unknown error while sending files over SSH
The “unknown error” is the ‘stoi’ exception.
This commit fixes that, but for the ‘guix-daemon’ service only.
* gnu/services/base.scm (guix-shepherd-service)[locales]: New variable.
Use it instead of ‘glibc-utf8-locales’.
---
gnu/services/base.scm | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index b3f2d2e8b8..10e0d4cf9d 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -62,8 +62,9 @@ (define-module (gnu services base)
util-linux xfsprogs))
#:use-module (gnu packages bash)
#:use-module ((gnu packages base)
- #:select (coreutils glibc glibc-utf8-locales tar
- canonical-package))
+ #:select (coreutils glibc glibc/hurd
+ glibc-utf8-locales make-glibc-utf8-locales
+ tar canonical-package))
#:use-module ((gnu packages compression) #:select (gzip))
#:use-module (gnu packages fonts)
#:autoload (gnu packages guile-xyz) (guile-netlink)
@@ -87,6 +88,7 @@ (define-module (gnu services base)
#:use-module ((guix self) #:select (make-config.scm))
#:use-module (guix diagnostics)
#:use-module (guix i18n)
+ #:autoload (guix utils) (target-hurd?)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
@@ -1831,6 +1833,12 @@ (define shepherd-discover-action
(define (guix-shepherd-service config)
"Return a <shepherd-service> for the Guix daemon service with CONFIG."
+ (define locales
+ (let-system (system target)
+ (if (target-hurd? (or target system))
+ (make-glibc-utf8-locales glibc/hurd)
+ glibc-utf8-locales)))
+
(match-record config <guix-configuration>
(guix build-group build-accounts authorize-key? authorized-keys
use-substitutes? substitute-urls max-silent-time timeout
@@ -1912,8 +1920,7 @@ (define (guix-shepherd-service config)
;; 'nss-certs'. See
;; <https://bugs.gnu.org/32942>.
(string-append "GUIX_LOCPATH="
- #$glibc-utf8-locales
- "/lib/locale")
+ #$locales "/lib/locale")
"LC_ALL=en_US.utf8"
;; Make 'tar' and 'gzip' available so
;; that 'guix perform-download' can use
--
2.41.0
- [bug#66156] [PATCH 00/12] Introducing Smart Hurdloading, Ludovic Courtès, 2023/09/22
- [bug#66156] [PATCH 01/12] system: vm: Remove unused variable., Ludovic Courtès, 2023/09/22
- [bug#66156] [PATCH 02/12] secret-service: Increase default handshake timeout., Ludovic Courtès, 2023/09/22
- [bug#66156] [PATCH 03/12] services: hurd-vm: Use the default SSH port number., Ludovic Courtès, 2023/09/22
- [bug#66156] [PATCH 04/12] gnu: glibc-utf8-locales: Reintroduce input labels., Ludovic Courtès, 2023/09/22
- [bug#66156] [PATCH 05/12] services: guix: Use the right locale package on GNU/Hurd.,
Ludovic Courtès <=
- [bug#66156] [PATCH 07/12] services: childhurd: Authorize the childhurd’s key on the host., Ludovic Courtès, 2023/09/22
- [bug#66156] [PATCH 09/12] tests: hurd-vm: Remove custom disk image configuration., Ludovic Courtès, 2023/09/22
- [bug#66156] [PATCH 06/12] services: guix: Support declarative offloading setup., Ludovic Courtès, 2023/09/22
- [bug#66156] [PATCH 10/12] services: hurd-vm: Disable password-based authentication for root., Ludovic Courtès, 2023/09/22
- [bug#66156] [PATCH 11/12] doc: Give an example showing how to add an account in the childhurd., Ludovic Courtès, 2023/09/22
- [bug#66156] [PATCH 08/12] services: hurd-vm: ‘image’ field has to be an <image> record., Ludovic Courtès, 2023/09/22
- [bug#66156] [PATCH 12/12] services: hurd-vm: Implement zero-configuration offloading., Ludovic Courtès, 2023/09/22
- [bug#66156] [PATCH 00/12] Introducing Smart Hurdloading, Janneke Nieuwenhuizen, 2023/09/22