On 2021-05-04, Ludovic Courtès wrote: > Vagrant Cascadian skribis: > >> On 2021-01-22, Vagrant Cascadian wrote: >>> I've uploaded guix 1.2.0 built against guile-2.2 to Debian, and while it >>> builds fine on the official buildd.debian.org infrastructure, on amd64 >>> and arm64 the "channel-news, one entry" test from tests/channels.scm >>> fails on tests.reproducible-builds.org. >>> >>> There are likely a few differences in the two build environments, >>> possibly including network access. >>> >>> Does the "channel-news, one entry" test indirectly depend on network or >>> bootstrap binaries? >>> >>> Could a difference in locale related variables affect the result of the >>> test (e.g. LANGUAGE=en:en_US vs. LANGUAGE unset, LC_ALL unset >>> vs. LC_ALL=C or LC_ALL=C.UTF-8)? >>> >>> https://tests.reproducible-builds.org/debian/rb-pkg/experimental/amd64/guix.html >> >> Still basically the same story with 1.3.0rc1, in some cases this test >> fails, but I haven't consistently figured out what triggers it. >> >> >>> test-name: channel-news, one entry >>> location: /build/1st/guix-1.2.0/tests/channels.scm:324 >>> source: > > [...] > >>> + (lset= equal? >>> + (map channel-news-entry-title >>> + (channel-news-for-commit channel commit5)) >>> + '((("en" . "Another file!")) >>> + (("en" . "Old news.") ("eo" . "Malnova?oj.")))) > > The culprit is right here: it should read “Malnovaĵoj”, but there’s a > question mark instead of ‘ĵ’. > > Could it be that you’re not running tests in a UTF-8 locale? Thanks for taking a deeper look! Yes, on tests.reproducible-builds.org, one build is run in the C locale, the other in various UTF-8 locales (somewhat arbitrarily tied to architecture exactly which UTF-8 locale is used). I'm guessing buildd.debian.org use C.UTF-8, since it builds fine there. So now the question is what to do; should tests be able to assume a UTF-8 locale? Should I try to adapt the test to work in C? Should I workaround it in the Debian packaging by forcing to use a UTF-8 locale (on Debian, the only one definitely available is C.UTF-8, which isn't in upstream glibc, and thus not in guix itself). live well, vagrant