GNU bug report logs -
#30185
[PATCH] [core-updates] Put locales where libc will find them
Previous Next
Reported by: Mark H Weaver <mhw <at> netris.org>
Date: Sat, 20 Jan 2018 21:26:01 UTC
Severity: normal
Tags: patch
Done: Mark H Weaver <mhw <at> netris.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#30185: [PATCH] [core-updates] Put locales where libc will find them
which was filed against the guix package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 30185 <at> debbugs.gnu.org.
--
30185: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=30185
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
ludo <at> gnu.org (Ludovic Courtès) writes:
> Mark H Weaver <mhw <at> netris.org> skribis:
>
>> * gnu/system/locale.scm (localedef-command, single-locale-directory): Use only
>> the major+minor part of the libc version number in the locale directory name.
>
> Good catch, go for it!
Pushed as commit 6d5a65de7fba53ca1160844550d261f540f110e1 on
core-updates. I'm closing this bug now.
Thanks,
Mark
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
On my mips64el-linux GuixSD system, now updated to something close to
core-updates (but with binutils-2.25.1), guile prints this warning:
guile: warning: failed to install locale
and 'locale' prints:
mhw <at> yeeloong ~$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
[...]
strace shows attempts to open files in /run/current-system/locale/2.26,
which was not included in my built system. Instead I have:
/run/current-system/locale/2.26.105-g0890d5379c
This matches the version field of our 'glibc' package in core-updates,
but it's not where libc is looking.
I've attached a patch that fixes the problem for me.
What do you think?
Mark
[0001-system-Put-locales-where-libc-will-find-them.patch (text/x-patch, inline)]
From cb343d623d31e0687725d37c8585b440ec5144ec Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw <at> netris.org>
Date: Sat, 20 Jan 2018 01:57:07 -0500
Subject: [PATCH] system: Put locales where libc will find them.
* gnu/system/locale.scm (localedef-command, single-locale-directory): Use only
the major+minor part of the libc version number in the locale directory name.
---
gnu/system/locale.scm | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm
index 75cb855b5..75417f669 100644
--- a/gnu/system/locale.scm
+++ b/gnu/system/locale.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo <at> gnu.org>
+;;; Copyright © 2018 Mark H Weaver <mhw <at> netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,6 +22,7 @@
#:use-module (guix store)
#:use-module (guix records)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (srfi srfi-26)
@@ -90,9 +92,9 @@ or #f on failure."
"--no-archive" "--prefix" #$output
"-i" #$(locale-definition-source locale)
"-f" #$(locale-definition-charset locale)
- (string-append #$output "/"
- #$(package-version libc) "/"
- #$(locale-definition-name locale))))))
+ (string-append #$output "/" #$(version-major+minor
+ (package-version libc))
+ "/" #$(locale-definition-name locale))))))
(define* (single-locale-directory locales
#:key (libc (canonical-package glibc)))
@@ -102,7 +104,7 @@ Because locale data formats are incompatible when switching from one libc to
another, locale data is put in a sub-directory named after the 'version' field
of LIBC."
(define version
- (package-version libc))
+ (version-major+minor (package-version libc)))
(define build
#~(begin
--
2.16.0
This bug report was last modified 7 years and 174 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.