Subject: Re: bug#73751: [cuirass] channel-update-service fails trying to find key with accent in the name

From: Ludovic Courtès <[email-masked]>
Date: Thu, 28 Nov 2024 08:59:02 +0100

Hi,

Noé Lopez <[email-masked]> skribis:

> Cuirass is failing to fetch the channel, because of something with the
> key file: « 2024-10-11 21:34:11 error: Git error while fetching channels
> from https://framagit.org/nll/bloup.git
> https://git.savannah.gnu.org/git/guix.git: the path 'No?? Lopez.key'
> does not exist in the given tree »

This error comes from libgit2, and I suspect the reason is that libgit2
interprets file names according to the current locale and ‘cuirass
register’ is not running in a UTF-8 locale.

Could you check with this patch:

diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
index 187766bc99..f9f6355b98 100644
--- a/gnu/services/cuirass.scm
+++ b/gnu/services/cuirass.scm
@@ -184,7 +184,8 @@ (define (cuirass-shepherd-service config)
                         #$@extra-options)
 
                   #:environment-variables
-                  (list "GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt"
+                  (list "LC_ALL=C.UTF-8"
+                        "GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt"
                         (string-append "GIT_EXEC_PATH=" #$git
                                        "/libexec/git-core"))

Thanks,
Ludo’.