summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2024-12-02 11:52:31 +0100
committerLudovic Courtès <ludo@gnu.org>2024-12-02 11:55:09 +0100
commitfb4100293545b30a7eef0b7f3b9bab024d0984a6 (patch)
tree9d7c6aa5cd5cdc18efe7a660974b8552367df597 /etc
parent2756c660fb2d9e2fe3e1fd0898e4d7038c8273c7 (diff)
maint: Run ‘etc/upgrade-manifest.scm’ in a UTF-8 locale.
* etc/upgrade-manifest.scm: Add calls to ‘setlocale’ to force a UTF-8 locale. Change-Id: Ia567a1e08124d9eab7fb32f3363681a8f37431b1
Diffstat (limited to 'etc')
-rw-r--r--etc/upgrade-manifest.scm9
1 files changed, 9 insertions, 0 deletions
diff --git a/etc/upgrade-manifest.scm b/etc/upgrade-manifest.scm
index 5e6d7d85e4..9c97d2b4e5 100644
--- a/etc/upgrade-manifest.scm
+++ b/etc/upgrade-manifest.scm
@@ -124,5 +124,14 @@
(name (string-append (package-name package) "-full-upgrade"))))
(dependents store security-packages 2))))))
+;; Install a UTF-8 locale so that file names in Git checkouts are interpreted
+;; as UTF-8 (the libgit2 source tree contains non-ASCII file names, for
+;; instance). XXX: This works around the fact that 'cuirass register' and
+;; thus 'cuirass evaluate' may not be running with a UTF-8 locale.
+(unless (string-suffix? ".UTF-8" (setlocale LC_ALL))
+ (or (false-if-exception (setlocale LC_ALL "C.UTF-8"))
+ (false-if-exception (setlocale LC_ALL "en_US.UTF-8"))
+ (format (current-error-port) "warning: failed to install UTF-8 locale~%")))
+
(concatenate-manifests
(list individual-security-upgrades joint-security-upgrades))