Subject: bug#41116: Guix deploy fails with new version of Herd

From: Marius Bakke <[email-masked]>
Date: Thu, 07 May 2020 00:45:33 +0200

Hi Alex,

Alex Sassmannshausen via Bug reports for GNU Guix <[email-masked]>
writes:

> Hello,
>
> I maintain a number of servers using Guix deploy.  It seems that the
> recent upgrade to Herd in Guix, and specifically commit
> 4c0cc7bed3de2c0e2d3a6e95b88693941e839eec might have introduced a bug.
>
> From my testing, guix deploy currently consistently fails with:
> -----------------8<----------------------------->8-------------------
> ice-9/boot-9.scm:1667:16: In procedure raise-exception:
> ERROR:
>   1. &inferior-exception:
>       arguments: (srfi-34 #<inferior-object #<condition &action-exception-error [service: root action: eval key: keyword-argument-error args: ("#<procedure 7fe24816e240 at shepherd/service.scm:903:4 (command #:key user group directory environment-variables pid-file pid-file-timeout log-file) | (program . program-args)>" "Unrecognized keyword" () (#:file-creation-mask))] 7eff2bd7be00>>)
>       inferior: #f
>       stack: ()
> -----------------8<----------------------------->8-------------------
>
> A workaround is to build the system configuration locally on the target
> server, then to reconfigure.  It will still error at the same place, but
> at this point, after restarting the server, the new version of Herd will
> be running and both deploy and reconfigure will work.
>
> I don't know what a good solution to this could be, but it may be
> something we need to consider in future development of Herd.

This issue has been reported by a number of users on IRC.  I think the
problem is that the the #:file-creation-mask keyword requires support
from the running Shepherd, which may not have it yet.  I think we should
revert commit 4c0cc7bed3de2c0e2d3a6e95b88693941e839eec until we find a
smooth upgrade path.  Can you try it and push if that fixes guix deploy?