Subject: bug#24335: Error when invoking usermod while reconfiguring

From: Alex Kost <[email-masked]>
Date: Tue, 30 Aug 2016 13:18:06 +0300

Leo Famulari (2016-08-30 08:44 +0300) wrote:

> While reconfiguring my GuixSD system from 1062f2451 (gnu: Add stagit),
> the process fails as show below.
>
> When I revert 2d1a2f4af (system: Add 'create-home-directory?' field to
> <user-account>) and the associated commit cb58b2cd, the reconfigure
> completes successfully.

This "... create-home-directory? ..." commit is eb56ee027 actually:

http://git.savannah.gnu.org/cgit/guix.git/commit/?id=eb56ee027b4c6b5682f69fa885d16e55c4495bd8

> [...]
> In unknown file:
>    ?: 0 [system* "usermod" "-u" ...]
>
> ERROR: In procedure system*:
> ERROR: Wrong type (expecting string): #t

I think that commit is an ABI-breaking thing.  Try to do "make clean-go"
and remake the guix checkout again.

Specifically, that commit didn't touch (gnu services base) module, so
'guix-build-accounts' procedure still produces guixbuilder users
accounts in an "old" format.  It's just my guess though, but "make
clean-go" should work.

-- 
Alex