Subject: Re: bug#41668: Failing test: gui-installed-desktop-os-encrypted

From: Mathieu Othacehe <[email-masked]>
Date: Sun, 07 Jun 2020 17:28:19 +0200

Hey,

> * A new issue I discovered, whereby 'guix system init' try to
> build/download stuff, when it shouldn't:
>
> Jun  6 11:50:06 localhost shepherd[1]: Service cow-store has been started. 
> Jun  6 11:50:06 localhost installer[233]: running command ("guix" "system" "init" "--fallback" "--no-grafts" "--no-substitutes" "/mnt/etc/config.scm" "/mnt") 
> Jun  6 11:50:20 localhost installer[233]: 'guix system init --fallback --no-grafts --no-substitutes /mnt/etc/config.scm /mnt' exited with status 1; output follows:    The following derivations will be bu)
>
> Jun  6 11:50:20 localhost 7-gzip-mesboot-1.2.4.drv      /gnu/store/zrqjn3p0x5gkdnj6qb4b9xxl2dld4fvl-gzip-1.2.4.tar.drv      /gnu/store/98g8d622pqhzl0z92y4bjcqi9yl0327x-linux-libre-headers-bootstrap-0.drv2
> Jun  6 11:50:20 localhost g76sla-bash-mesboot-4.4.drv      /gnu/store/8yad2zhh91pnf27xkwh0kyx4ggnsn5li-bash-4.4.tar.gz.drv      /gnu/store/5vp07s0gdvrybbhcz43i58y5p03rrdsk-coreutils-mesboot-8.32.drv     k
> Jun  6 11:50:20 localhost h6mfp7hisj118ndcp8d0wy3ca63-gmp-6.0.0a.tar.xz.drv      /gnu/store/iy7vn17sqbrgp2142px897ij0njsr5f2-gmp-6.0.0a.tar.xz.drv      /gnu/store/rxr1wc67y74bsfasln4jw8viawpa79g4-mpfr-4.0
> Jun  6 11:50:20 localhost ilding /gnu/store/3pz8g76l2kkv36w1n7k25zlswgdyj554-Python-3.5.9.tar.xz.drv...   builder for `/gnu/store/3pz8g76l2kkv36w1n7k25zlswgdyj554-Python-3.5.9.tar.xz.drv' failed to produg
> Jun  6 11:50:20 localhost  

Ok, I think I found what's going on here. As we are now using multiple
glibc to build locales, we need to make sure that they are all available
in the installation closure.

The attached patch fixes the issue. I will also propose a patch,
probably on core-update, patching "invoke/quiet" so that we can have the
output of "guix system init" in the syslog.

Debugging (gnu tests install) module always takes me a lot of effort,
because of all the code layers involved. I don't have much to propose to
improve it, maybe when the CI will be more robust, we will be able to
detect those test failures as soon as they happen.

Now, the cow-store issue!

Thanks,

Mathieu
>From 25950adfa4988c31beaeb334367337ee409868c4 Mon Sep 17 00:00:00 2001
From: Mathieu Othacehe <[email-masked]>
Date: Sun, 7 Jun 2020 15:39:39 +0200
Subject: [PATCH] system: install: Add default libcs to gc-roots.

During the installation, it may be needed to build locales that are not
covered by glibc-utf8-locales. Make sure that the libraries required to build
locales are available.

This is a follow-up of 0eed77127592323d89f56c215a15374a1aaae110.

* gnu/system/install.scm (installation-os)[services]: Add
%default-locale-libcs to gc-root-service-type.
---
 gnu/system/install.scm | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index fe49ffdb94..d0ff2e7c52 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -32,6 +32,7 @@
   #:use-module ((guix packages) #:select (package-version))
   #:use-module ((guix store) #:select (%store-prefix))
   #:use-module (gnu installer)
+  #:use-module (gnu system locale)
   #:use-module (gnu services dbus)
   #:use-module (gnu services networking)
   #:use-module (gnu services shepherd)
@@ -439,10 +440,12 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
           ;; things needed by 'profile-derivation' to minimize the amount of
           ;; download.
           (service gc-root-service-type
-                   (list bare-bones-os
-                         glibc-utf8-locales
-                         texinfo
-                         guile-3.0))
+                   (append
+                    (list bare-bones-os
+                          glibc-utf8-locales
+                          texinfo
+                          guile-3.0)
+                    %default-locale-libcs))
 
           ;; Machines without Kernel Mode Setting (those with many old and
           ;; current AMD GPUs, SiS GPUs, ...) need uvesafb to show the GUI
-- 
2.26.2