vm: Build ISOs and VM images in a UTF-8 environment.

Fixes a bug whereby building an image containing non-ASCII file names
would fail due to improper decoding of file names.

* gnu/system/vm.scm (iso9660-image, qemu-image): Set GUIX_LOCPATH and
call 'setlocale' in the build environment.
This commit is contained in:
Ludovic Courtès 2019-05-01 21:11:22 +02:00
parent 17acc215bf
commit 9c941364bf
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 10 additions and 0 deletions

View File

@ -283,6 +283,11 @@ INPUTS is a list of inputs (as for packages)."
(sql-schema #$schema) (sql-schema #$schema)
;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
(let ((inputs (let ((inputs
'#$(append (list qemu parted e2fsprogs dosfstools xorriso) '#$(append (list qemu parted e2fsprogs dosfstools xorriso)
(map canonical-package (map canonical-package
@ -379,6 +384,11 @@ the image."
(sql-schema #$schema) (sql-schema #$schema)
;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
(let ((inputs (let ((inputs
'#$(append (list qemu parted e2fsprogs dosfstools) '#$(append (list qemu parted e2fsprogs dosfstools)
(map canonical-package (map canonical-package