Subject: bug#35356: exception caught while executing 'start' on service 'user-homes':

From: Ludovic Courtès <[email-masked]>
Date: Sun, 21 Apr 2019 22:27:57 +0200

Hello,

Danny Milosavljevic <[email-masked]> skribis:

> guix system: error: exception caught while executing 'start' on service 'user-homes':
> Throw to key `match-error' with args `("match" "no matching pattern" "#<<user-account> name: \"root\" password: \"\" uid: 0 group: \"root\" supplementary-groups: () comment: \"System administrator\" home-directory: #<procedure home-directory (x)> create-home-directory?: #t shell: \"/gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/bash\" system?: #f>")'.
>
> commit dc01978288318a8155e2e2657be9b278a754ebac.

(Note that ‘reconfigure’ succeeded; it’s only ‘user-homes’ that failed
to start, no big deal.)

That happens when updating a system that dates back to before
6061d01512081c93c53fdd1d4302b36696403061.

What happens, I think, the new ‘user-homes’ service is started (in
PID 1), but it still refers to the old (gnu build activation), which
expects a tuple instead of a <user-account> record.

We can’t fix this now.  To avoid this we could make the ‘user-homes’
code a standalone program (with ‘program-file’) instead of running it in
PID 1.

Thoughts?

Ludo’.