unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#30185: [PATCH] [core-updates] Put locales where libc will find them
@ 2018-01-20 21:22 Mark H Weaver
  2018-01-20 21:45 ` Gábor Boskovits
  2018-01-24 14:34 ` Ludovic Courtès
  0 siblings, 2 replies; 4+ messages in thread
From: Mark H Weaver @ 2018-01-20 21:22 UTC (permalink / raw)
  To: 30185

[-- Attachment #1: Type: text/plain, Size: 910 bytes --]

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@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


[-- Attachment #2: [PATCH] system: Put locales where libc will find them --]
[-- Type: text/x-patch, Size: 2263 bytes --]

From cb343d623d31e0687725d37c8585b440ec5144ec Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@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@gnu.org>
+;;; Copyright © 2018 Mark H Weaver <mhw@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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* bug#30185: [PATCH] [core-updates] Put locales where libc will find them
  2018-01-20 21:22 bug#30185: [PATCH] [core-updates] Put locales where libc will find them Mark H Weaver
@ 2018-01-20 21:45 ` Gábor Boskovits
  2018-01-24 14:34 ` Ludovic Courtès
  1 sibling, 0 replies; 4+ messages in thread
From: Gábor Boskovits @ 2018-01-20 21:45 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: 30185

[-- Attachment #1: Type: text/plain, Size: 1331 bytes --]

I remember having a similar issue, and a patch was included to look for
locales in version major+minor instead of the whole version string.
This was tacked at: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29537
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29537>

I think this might be relevant to this.

2018-01-20 22:22 GMT+01:00 Mark H Weaver <mhw@netris.org>:

> 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@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
>
>

[-- Attachment #2: Type: text/html, Size: 1884 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#30185: [PATCH] [core-updates] Put locales where libc will find them
  2018-01-20 21:22 bug#30185: [PATCH] [core-updates] Put locales where libc will find them Mark H Weaver
  2018-01-20 21:45 ` Gábor Boskovits
@ 2018-01-24 14:34 ` Ludovic Courtès
  2018-01-24 23:32   ` Mark H Weaver
  1 sibling, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2018-01-24 14:34 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: 30185

Mark H Weaver <mhw@netris.org> skribis:

> From cb343d623d31e0687725d37c8585b440ec5144ec Mon Sep 17 00:00:00 2001
> From: Mark H Weaver <mhw@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.

Good catch, go for it!

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#30185: [PATCH] [core-updates] Put locales where libc will find them
  2018-01-24 14:34 ` Ludovic Courtès
@ 2018-01-24 23:32   ` Mark H Weaver
  0 siblings, 0 replies; 4+ messages in thread
From: Mark H Weaver @ 2018-01-24 23:32 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 30185-done

ludo@gnu.org (Ludovic Courtès) writes:

> Mark H Weaver <mhw@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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-01-24 23:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-20 21:22 bug#30185: [PATCH] [core-updates] Put locales where libc will find them Mark H Weaver
2018-01-20 21:45 ` Gábor Boskovits
2018-01-24 14:34 ` Ludovic Courtès
2018-01-24 23:32   ` Mark H Weaver

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).