GNU bug report logs - #76698
Activations interfere with each other modules

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix; Reported by: Tomas Volf <~@wolfsden.cz>; dated Mon, 3 Mar 2025 01:03:02 UTC; Maintainer for guix is bug-guix@HIDDEN.

Message received at 76698 <at> debbugs.gnu.org:


Received: (at 76698) by debbugs.gnu.org; 9 Mar 2025 11:39:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Mar 09 07:39:00 2025
Received: from localhost ([127.0.0.1]:58674 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1trEzj-0008G0-S4
	for submit <at> debbugs.gnu.org; Sun, 09 Mar 2025 07:39:00 -0400
Received: from wolfsden.cz ([37.205.8.62]:35918)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <~@wolfsden.cz>) id 1trEzf-0008Fm-HG
 for 76698 <at> debbugs.gnu.org; Sun, 09 Mar 2025 07:38:58 -0400
Received: by wolfsden.cz (Postfix, from userid 104)
 id 405F9371DA8; Sun,  9 Mar 2025 11:38:53 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail;
 t=1741520333; bh=1MYDROBfOTYVzaItp3psKsihuSQHwU0AOKCiTYk3wSM=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date;
 b=cSXZFmSkjak19yp3zCam5Rrq8mGMsPdpot9Vj04P709UACnJDXagyS+dOwoHfrjPd
 bvg3QgBGHIfhRddLP/dH7sJVML9iSSZoX7DJEqbsK1YCj9qWKn9GRLHZ7TdJ2yCVaw
 spYy+CJCVAo9oVHo11c2IBJbKO87v0zjF5pDPwT6RpE+BvFJhzEPauwgozXHk1F1Tt
 jBmCKIvZTXxtlgoAyHnjYxuLWaaC7Vxz2X8gAA1lr3xTGY3eH99Gw5LefqK0ExRy7D
 Bv/B+gRZJqsp4wWYI6fCtmvOa5Ps5hrpwYdscFSb4MQEPRCcVBRnyyj40/2AtYB6qg
 afNE54pA7m9sre1gOJLJWQk8TPf7Hgioh+OX0eXYlEqbLTVMUUrs5+8TixFSgFHl7d
 vVvW/aVZJlYXVj710iWDbpqOLWn7fJxjVUERCjtU7FAcbKWNOcJ9W92tzSxV5o6Mgp
 L4dVKxw0azXBM9bSstYO4CS0pprXnib3HJMbjXfzbWY3ENFR9oUSH7xSOfqU+m9LcG
 DJCvdt0lgKt6ZVKNOs89+PwncgSY8gJaRFQ0GfJG8lJe1DMBXNrLjTIH7GMPxWx1ep
 ZqfNNE9V/oRUWTgcI0v1pBoVc0LhRlYUed414sPN+JG/93gAEzanN5cD4rMstjTRXJ
 2hdXNki4rmadordT8XfA5hx8=
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on wolfsden
X-Spam-Level: 
X-Spam-Status: No, score=-3.1 required=5.0 tests=ALL_TRUSTED,BAYES_00,
 DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,URIBL_BLOCKED
 autolearn=ham autolearn_force=no version=3.4.6
Received: from localhost (unknown [128.0.188.242])
 by wolfsden.cz (Postfix) with ESMTPSA id 6A3E9371852;
 Sun,  9 Mar 2025 11:38:52 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail;
 t=1741520332; bh=1MYDROBfOTYVzaItp3psKsihuSQHwU0AOKCiTYk3wSM=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date;
 b=kw5+nTBMprTGeXtKHl9rdSWMXS+iWay3PFgGImf+BgPMnseQ/6UBzoYpHrAPLwEUl
 iQNXSM94zD18Mq7FbNooKpNBbqY2yIKYXdNE/0fFqaPUg0hDLz+a+KRM3fsy6gOQyt
 MDOvhnkWwWp1NwkSjRHR6UHzRxNCXjMFmuGG/WwdgU8VcYY7Xbq0jLpWL51Lbp7HKm
 1G3B04+WfenAJ1OO64VlqPBqkLzA4mPsZWUYlucK+fCgFNnbCGSFuSbtCwWnhugJfr
 CJLXsQCVwlyX5PeC4zsZ0M74C9/egvwr7QW+fR6kOWeszHhBHHqUFqFx4d+88UPD3j
 EuMpl0KYg4TYum4N5LlNIhRFWAkQTWTMuFIjhdF2NU4cpv93ZG7jRlGW03pHjicw2u
 dwOeakrhs7hQ7SPSNq21oAVpkh8hIr6UbqcUNwkITd6dJ4zQyKlspQhb1F/az4D3R0
 iLcp+Ev9zSQiB2sM9rDntUE1f1UAWRkKenI+qi4aMDmXLHfxkN1To4Nt5ABrxCcugw
 DTw0h5yqTZRhwXVLF103cfZP4lvIw3Tk5TnKsk4MfVkWha4wDzuLZsTK1ir8XNnqsu
 Nn4ofJkO/IUu1chT+GuxB+vqf0M/umGWrEYWR0GcUKTl6FKm9jc0fBXQco82SoVoMZ
 qEkhHOtIjIpNdLjXDD5CSGnw=
From: Tomas Volf <~@wolfsden.cz>
To: Hilton Chain <hako@HIDDEN>
Subject: Re: bug#76698: Activations interfere with each other modules
In-Reply-To: <87pliqaig3.wl-hako@HIDDEN> (Hilton Chain's message of
 "Sun, 09 Mar 2025 13:20:28 +0800")
References: <87jz97gc4h.fsf@HIDDEN> <87cyeuua0l.wl-hako@HIDDEN>
 <87y0xgzfzk.fsf@HIDDEN> <87pliqaig3.wl-hako@HIDDEN>
Date: Sun, 09 Mar 2025 12:38:51 +0100
Message-ID: <87bjuazb5g.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha512; protocol="application/pgp-signature"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 76698
Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, 76698 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hilton Chain <hako@HIDDEN> writes:

> On Sat, 08 Mar 2025 05:29:51 +0800,
> Tomas Volf wrote:
>>
>> > but unfortunately (gnu build activation) and (guix build utils) are
>> > implicit dependencies.  This is hard to change at the moment.
>>
>> I do not think this is true.  When I look at the activation script for
>> my service, I do not see any additional code then my service has.  So
>> assuming it would be executed, instead of loaded, (guix build utils)
>> should not be in the environment.  Am I missing something?
>
> (gnu build activation) and (guix build utils) are added to the environment
> before loading activation scripts, existing activation services may depen=
d on
> this.  For example firmware-service-type uses =E2=80=98activate-firmware=
=E2=80=99 directly
> without importing (gnu build activation).

I am not sure I follow.  When I have an activation service looking like:

=2D-8<---------------cut here---------------start------------->8---
#~(mkdir "/x")
=2D-8<---------------cut here---------------end--------------->8---

The generated file looks like the following:

=2D-8<---------------cut here---------------start------------->8---
#!/gnu/store/ylwk2vn18dkzkj0nxq2h4vjzhz17bm7c-guile-3.0.9/bin/guile --no-au=
to-compile
!#
(mkdir "/x")
=2D-8<---------------cut here---------------end--------------->8---

Wait... When I looked again I have now noticed that your patch actually
modifies the activation-script procedure to explicitly add the modules.
It did not do that before.  That is a shame.  Would it not be better to
just add the appropriate use-modules into the services that are missing
them?

I am not sure these two modules being available is documented anywhere,
so in-tree users can be fixed, and out-of-tree users are relying on
something they should not assume (so they should be fixed as well,
possibly with some deprecation period).

>
>> > I have sent a patch which might partially address your issue:
>> >
>> > [PATCH v2 3/3] services: activation: Continue on exceptions.
>> > https://issues.guix.gnu.org/73494#26
>> >
>> > It executes activation scripts by =E2=80=98invoke=E2=80=99, so they wo=
n't change the
>> > environment.
>> >
>> > What I'm trying to achieve is to avoid blocking the activation process=
 when one
>> > script fails.
>>
>> Well, that patch would probably resolve my issues, correct.  What I am
>> unsure about is whether ignoring errors is a good idea and what (if any)
>> impact it will have on the rest of the deploy process.  Like, if the
>> activation fails, would it not be better to rollback instead of push
>> forward?  Dunno, I probably just do not know enough about this. :)
>
> Makes sense, but too late at this stage since it's already switched to th=
e new
> generation before activation.
>
> The current behavior is, one failed activation breaks the whole activation
> process, without a clear indication.  As a result, all services depending=
 on
> activation may fail.  And I want to limit failed services to relevant
> ones.

I see.  Makes sense, thanks for explanation.

Tomas

=2D-=20
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQJCBAEBCgAsFiEEt4NJs4wUfTYpiGikL7/ufbZ/wakFAmfNfcsOHH5Ad29sZnNk
ZW4uY3oACgkQL7/ufbZ/wamhFBAAtiM6YjMkNNEqnIMGahr/dpOVTUhlzCP0eaBW
kkLQvUp/WlZ2mEHpIZheikUVxlCo4VwhyadYMNffs4c2xM6SYfu1LE1HF8blHYdX
jT6YnhjhwpnOwpUyt3WXfKIAudrWsopgGfiSWFOHsbAsjNzDeXJUCTqrPQyHmszS
2Cwkb9tT0Q+PKb/tDtaD0gbqfocaDkrrIOhELqiAIXYlX6GHz0SHIx70z+hM9TDs
ttIv2RzF0NNAcPc0YPPtPdOZnYuSPtXqBRW8qQBp9ce6G1KEw/3Pq05ZjBVee/Z2
bB5FLimkhqdkn21NnML+PFTok+CoizVP9ctIEXWwiL93pqK/W2Bav5bRBOmk8id0
iLzwnB+BH6AuRwbgAN5UzAZttMmYja0xaLyHOGK2HG39ux89wJjZgzrOFhQ7Iyao
ai3RLHsnLzuhUyzf05ytVELr+NPkXYUROUD+nwijeFPzYyxaV8JxEIkwITPTVqIg
GEfIaJWdho5pr8JP8E//NuM2G5GeaWxN1dnbSPwzAAqVnchoghlfXzGQUiojtcJt
N1S+Si+yfixtWv+tg5vzs7NymrbPWN8CQRzY5i4dwgLXXYIb8GvG8q4MKtFXE7Zt
x3Bs8SDM4JeNGJ7vPgRdEhQdwHAJoDq5EQ+RVjxWh/DZtNHlS0VDsOqMt3chaeJ1
9x3c+2c=
=PdL4
-----END PGP SIGNATURE-----
--=-=-=--




Information forwarded to bug-guix@HIDDEN:
bug#76698; Package guix. Full text available.

Message received at 76698 <at> debbugs.gnu.org:


Received: (at 76698) by debbugs.gnu.org; 9 Mar 2025 05:20:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Mar 09 00:20:52 2025
Received: from localhost ([127.0.0.1]:57660 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tr95n-0003Ja-VD
	for submit <at> debbugs.gnu.org; Sun, 09 Mar 2025 00:20:52 -0500
Received: from mx.boiledscript.com ([88.99.243.112]:39994)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <hako@HIDDEN>)
 id 1tr95j-0003JK-Nn
 for 76698 <at> debbugs.gnu.org; Sun, 09 Mar 2025 00:20:49 -0500
Date: Sun, 09 Mar 2025 13:20:28 +0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ultrarare.space;
 s=mail; t=1741497645;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=HA25iK0H9vDnGLi+DD5Mk/eltbuvKljuq7b1xe6+B/I=;
 b=jUCz6mq+xrMLiZm38tFwwh5lD5PkieMj+Gbji2qS1tZiWVu26ZzPPaLu/w0t348TkK9+bU
 pM0UdCW9o5U0t/XIju/T9H6e69dhIQKtJRruxGgiryLHFXxebEZoZkqh9g4eCDLeNNb3tY
 xkLHZBDSTppP2uNcLAGHJCAWag7PhzfH5juC4t/RZzhocRtB0+VGCdixkP2MpkcWWwPcF/
 RK7a4ua6rRy1EyF5dTf6q6hmvdd//RuAve8RdfbAF8sDH7a0+Jeb9WF0aqbks3ajRN5+bx
 2I+nF+GdmZxw58bEQy2Fw7c7MMHpDowbxR5FTvtZIxiO0q3o0lIGhDFw2CfCzQ==
Message-ID: <87pliqaig3.wl-hako@HIDDEN>
From: Hilton Chain <hako@HIDDEN>
To: Tomas Volf <~@wolfsden.cz>
Subject: Re: bug#76698: Activations interfere with each other modules
In-Reply-To: <87y0xgzfzk.fsf@HIDDEN>
References: <87jz97gc4h.fsf@HIDDEN> <87cyeuua0l.wl-hako@HIDDEN>
 <87y0xgzfzk.fsf@HIDDEN>
MIME-Version: 1.0
X-MS-Reactions: disallow
Content-Type: text/plain; charset=ISO-8859-7
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 76698
Cc: Ludovic =?ISO-8859-1?Q?Court=E8s?= <ludo@HIDDEN>, 76698 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Sat, 08 Mar 2025 05:29:51 +0800,
Tomas Volf wrote:
>
> > but unfortunately (gnu build activation) and (guix build utils) are
> > implicit dependencies.  This is hard to change at the moment.
>
> I do not think this is true.  When I look at the activation script for
> my service, I do not see any additional code then my service has.  So
> assuming it would be executed, instead of loaded, (guix build utils)
> should not be in the environment.  Am I missing something?

(gnu build activation) and (guix build utils) are added to the environment
before loading activation scripts, existing activation services may depend =
on
this.  For example firmware-service-type uses =A1activate-firmware=A2 direc=
tly
without importing (gnu build activation).

> > I have sent a patch which might partially address your issue:
> >
> > [PATCH v2 3/3] services: activation: Continue on exceptions.
> > https://issues.guix.gnu.org/73494#26
> >
> > It executes activation scripts by =A1invoke=A2, so they won't change the
> > environment.
> >
> > What I'm trying to achieve is to avoid blocking the activation process =
when one
> > script fails.
>
> Well, that patch would probably resolve my issues, correct.  What I am
> unsure about is whether ignoring errors is a good idea and what (if any)
> impact it will have on the rest of the deploy process.  Like, if the
> activation fails, would it not be better to rollback instead of push
> forward?  Dunno, I probably just do not know enough about this. :)

Makes sense, but too late at this stage since it's already switched to the =
new
generation before activation.

The current behavior is, one failed activation breaks the whole activation
process, without a clear indication.  As a result, all services depending on
activation may fail.  And I want to limit failed services to relevant ones.




Information forwarded to bug-guix@HIDDEN:
bug#76698; Package guix. Full text available.

Message received at 76698 <at> debbugs.gnu.org:


Received: (at 76698) by debbugs.gnu.org; 7 Mar 2025 21:29:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 07 16:29:58 2025
Received: from localhost ([127.0.0.1]:50883 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tqfGX-0004aH-Jw
	for submit <at> debbugs.gnu.org; Fri, 07 Mar 2025 16:29:58 -0500
Received: from wolfsden.cz ([37.205.8.62]:55308)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <~@wolfsden.cz>) id 1tqfGU-0004a7-KK
 for 76698 <at> debbugs.gnu.org; Fri, 07 Mar 2025 16:29:56 -0500
Received: by wolfsden.cz (Postfix, from userid 104)
 id 99C22318C4E; Fri,  7 Mar 2025 21:29:52 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail;
 t=1741382992; bh=KlnCfsm/ZaUHKjBUYCZQ3gdIaJNXWkInYINYvFHoj/E=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date;
 b=AFBlSjSp94dmyp53ZAkuK4GxYJZ1IspE2Axl8eSi4b5BhlskJWbU9AB9E+9JzG2mo
 EzGrvTLHE8Rq/cupp9wNp54YlnGh52SwhkE+iPe6nR5Cw/cYW7DVqcvn1EbEtR6Ph7
 TK2DmCUUOEhKRLlYhxtoaJuja50ZzzG6b8SIT9iBJQ0JBe04BwzvXh3qdNTh3FRDW7
 G3rGwwStmGNu2+MR77CyCK7RMl/FecD1Gh338ktEvSFUXtu3rbqdNJUh+2uzS59bih
 RHgZJ9wTkWW60ggKrhkCNZlaJMmz6UYjYLRRialsPUpXyEMuk5x1YXFMXeH/aw5SoK
 IoQroTBII1eJKYNdGbyIclLYdBzvvFzlaZ86oiAG4gfBGYdOuWXAmEOS9ABm2OtjrZ
 CesGe4kwM31MXQ8AIRbj1HIiZkDTCeO/hbwWDCLh2pgIn9bnvxk2pctDwWG+rrnnDx
 rDVUtQtVYINjgGX9TAd/WmKK78Hc8OT4wckCIkJX+J8YtMoRV1BKbD3/xHgY6F+FNL
 JID+WnlilMzX3u5jtnVW2gYSXGc7hP3u/4W6lOCE0TBY4IAxKHclYLJrWnfbpHD7nc
 R3m9fri+Gm5PLJDPZvCkxh/RbHjNDyXhjJgwYst1Kik11X1QhATshwV363PtnWFz7q
 BNKhk1LC3NRQ/uMYJlcfo4wg=
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on wolfsden
X-Spam-Level: 
X-Spam-Status: No, score=-3.1 required=5.0 tests=ALL_TRUSTED,BAYES_00,
 DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,URIBL_BLOCKED
 autolearn=ham autolearn_force=no version=3.4.6
Received: from localhost (unknown [128.0.188.242])
 by wolfsden.cz (Postfix) with ESMTPSA id BD6B9319A09;
 Fri,  7 Mar 2025 21:29:51 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail;
 t=1741382991; bh=KlnCfsm/ZaUHKjBUYCZQ3gdIaJNXWkInYINYvFHoj/E=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date;
 b=uf0MRiHXxYdTuV08RVZpJjH+mJ93t1IC3GLAxm4/dHrkVqVmCVozkksgnJTF25155
 /a2EZz/VJSV97A74ktYVJ2wBjB/NnPKXFqYVXmyXIHjwOWEg6+pbYhxNPknaZQ5J6D
 RM2UcNDEBB3DtJMR41i9fN0MiqsrTavQxi8sWxQWjfcsZ9tLW15gvL/vDoDL4J9KSP
 aTJY8R1Fq2cMC0Lqwgb2B7iL/6tIQMday12Hj4VPLksS3FZOBAZOROFOraE0DtGCnE
 nuivWmCUWe3HlN4sqQiuQvfBEX7+BQ4xat0dwikguXtG76GKpxM1hozBJw7dsO1NGT
 72yvOLhjhvAyylUQ35sehJyVkvLcZ3k6NYzp7CxPmso7B1HS5m3hVuMmPfHze8ziPV
 dnZeifMSECsJclflCGsWkf9ImBSPkqCfeGsROsJvy9c/QtOouAxQvKRYCVqz+H6uAW
 JKsnvGcSY3zroba6TW8T9qU2mIhgcRItioPp0DDUzvVqGgm2UmSsYPNr6xH1980+km
 6Fikr8RT3PGt2AgBhTrdlPzrNbJLtJU/CeXeh0gj7n5l6S6u0zCDgG0N0pHUluEy20
 f7tvwbgH0ErJHLzZ+Wa08zXBuhwW0HiV4OBrELHLA/AyBIpO/pnrdg4sYaV7Jo9Ngk
 33jjSE+DcGlWXz09+kAb9lg8=
From: Tomas Volf <~@wolfsden.cz>
To: Hilton Chain <hako@HIDDEN>
Subject: Re: bug#76698: Activations interfere with each other modules
In-Reply-To: <87cyeuua0l.wl-hako@HIDDEN> (Hilton Chain's message of
 "Thu, 06 Mar 2025 11:13:14 +0800")
References: <87jz97gc4h.fsf@HIDDEN> <87cyeuua0l.wl-hako@HIDDEN>
Date: Fri, 07 Mar 2025 22:29:51 +0100
Message-ID: <87y0xgzfzk.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 76698
Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, 76698 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hilton Chain <hako@HIDDEN> writes:

> Hi Tomas,
>
> On Mon, 03 Mar 2025 09:02:22 +0800,
> Tomas Volf wrote:
>>
>> Hello,
>>
>> when using `activation-service-type' combined with `with-extension', the
>> various modules seem to interfere with each other.
>>
>> In my case the samba-service-type interferes with my custom service:
>>
>> --8<---------------cut here---------------start------------->8---
>> (define (watcher-activation* config)
>>   (match-record config <watcher-configuration>
>>                 (user group cache-dir state-dir)
>>     (with-extension/guile-wolfsden
>>      #~(begin
>>          (use-modules (wolfsden fs)
>>                       (wolfsden sh))
>>          (for-each (lambda (dir)
>>                      (mkdir-p dir)
>>                      (invoke* #$(file-append coreutils "/bin/chown")
>>                               "-Rv" (string-append #$user ":" #$group) d=
ir)
>>                      (chmod dir #o700))
>>                    '(#$cache-dir
>>                      #$state-dir))))))
>> --8<---------------cut here---------------end--------------->8---
>>
>> samba-service-type's activation starts with:
>>
>> --8<---------------cut here---------------start------------->8---
>> (define (samba-activation config)
>>   (let ((package (samba-configuration-package config))
>>         (config-file (samba-configuration-config-file config)))
>>     (with-imported-modules '((guix build utils))
>> --8<---------------cut here---------------end--------------->8---
>>
>> Both (guix build utils) and (wolfsden sh) provide (invoke) procedure,
>> however with incompatible parameters, leading to somewhat annoying to
>> debug issues.  In my case the error was:
>>
>> --8<---------------cut here---------------start------------->8---
>> guix deploy: error: failed to deploy x: failed to switch systems while d=
eploying '127.0.0.1':
>> keyword-argument-error #f "Invalid keyword" () ("/etc/samba/smb.conf")
>> --8<---------------cut here---------------end--------------->8---
>>
>> Which makes sense now when I understand what the problem is, but it took
>> while to get to it.
>>
>> I do not think this should be the case.  Either each activation service
>> should be isolated into a fresh user module, or the services provided by
>> Guix should not introduce any additional modules into the scope.
>> Alternatively, each activation service could be wrapped into
>> program-file, that would ensure isolation as well.
>
> Activation scripts are already =E2=80=98program-file=E2=80=99s,

Ah, yes, on second look you are right.  I did not realized at first,
since they are sourced using primitive-load instead of executed.

> but unfortunately (gnu build activation) and (guix build utils) are
> implicit dependencies.  This is hard to change at the moment.

I do not think this is true.  When I look at the activation script for
my service, I do not see any additional code then my service has.  So
assuming it would be executed, instead of loaded, (guix build utils)
should not be in the environment.  Am I missing something?

>
> I have sent a patch which might partially address your issue:
>
> [PATCH v2 3/3] services: activation: Continue on exceptions.
> https://issues.guix.gnu.org/73494#26
>
> It executes activation scripts by =E2=80=98invoke=E2=80=99, so they won't=
 change the
> environment.
>
> What I'm trying to achieve is to avoid blocking the activation process wh=
en one
> script fails.

Well, that patch would probably resolve my issues, correct.  What I am
unsure about is whether ignoring errors is a good idea and what (if any)
impact it will have on the rest of the deploy process.  Like, if the
activation fails, would it not be better to rollback instead of push
forward?  Dunno, I probably just do not know enough about this. :)

Tomas

--=20
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.




Information forwarded to bug-guix@HIDDEN:
bug#76698; Package guix. Full text available.

Message received at 76698 <at> debbugs.gnu.org:


Received: (at 76698) by debbugs.gnu.org; 6 Mar 2025 03:13:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 05 22:13:26 2025
Received: from localhost ([127.0.0.1]:40661 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tq1fq-0003q5-Cc
	for submit <at> debbugs.gnu.org; Wed, 05 Mar 2025 22:13:26 -0500
Received: from mx.boiledscript.com ([2a01:4f8:10b:392::42]:59208)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <hako@HIDDEN>)
 id 1tq1fm-0003ps-E6
 for 76698 <at> debbugs.gnu.org; Wed, 05 Mar 2025 22:13:23 -0500
Date: Thu, 06 Mar 2025 11:13:14 +0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ultrarare.space;
 s=mail; t=1741230800;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=MmFy9M8hqTI176mpp7nAryEhWjwi8XT/VwfzCGJ624k=;
 b=gmjD+JbXKMf3Z67j/iEC9tOOg9FxIgDVN16/u96p9bZWNmktoMw7XXTfq6JALAtgfSgvzY
 3sJf7TaIS8vJ2I6X4HWG68KhjXJz83Jhv0KEagm/zWZQBymrKMCSCHSL9m3EPdh71rAm0M
 ATI7x6Kyo2/boz3WKfPDHM3gVd0N1HzOgAZC3WFHOl55EQdwBNsII69+6zbQfqqCGgTTJg
 FhUpE7WiJB8ruXdyTjCkwSqyJHv4wQDhHNWHy0wPW9TCfPEa65kugnkhu5qWF9om/sW5vn
 t8g7TLzHVoT+RXYFgYQlneAy4ZUQRTYGcneP7WwWtGbU35tOdJrblZ8hA7lw4A==
Message-ID: <87cyeuua0l.wl-hako@HIDDEN>
From: Hilton Chain <hako@HIDDEN>
To: Tomas Volf <~@wolfsden.cz>
Subject: Re: bug#76698: Activations interfere with each other modules
In-Reply-To: <87jz97gc4h.fsf@HIDDEN>
References: <87jz97gc4h.fsf@HIDDEN>
MIME-Version: 1.0
X-MS-Reactions: disallow
Content-Type: text/plain; charset=ISO-2022-JP
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 76698
Cc: Ludovic =?ISO-8859-1?Q?Court=E8s?= <ludo@HIDDEN>, 76698 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Tomas,

On Mon, 03 Mar 2025 09:02:22 +0800,
Tomas Volf wrote:
>
> Hello,
>
> when using `activation-service-type' combined with `with-extension', the
> various modules seem to interfere with each other.
>
> In my case the samba-service-type interferes with my custom service:
>
> --8<---------------cut here---------------start------------->8---
> (define (watcher-activation* config)
>   (match-record config <watcher-configuration>
>                 (user group cache-dir state-dir)
>     (with-extension/guile-wolfsden
>      #~(begin
>          (use-modules (wolfsden fs)
>                       (wolfsden sh))
>          (for-each (lambda (dir)
>                      (mkdir-p dir)
>                      (invoke* #$(file-append coreutils "/bin/chown")
>                               "-Rv" (string-append #$user ":" #$group) dir)
>                      (chmod dir #o700))
>                    '(#$cache-dir
>                      #$state-dir))))))
> --8<---------------cut here---------------end--------------->8---
>
> samba-service-type's activation starts with:
>
> --8<---------------cut here---------------start------------->8---
> (define (samba-activation config)
>   (let ((package (samba-configuration-package config))
>         (config-file (samba-configuration-config-file config)))
>     (with-imported-modules '((guix build utils))
> --8<---------------cut here---------------end--------------->8---
>
> Both (guix build utils) and (wolfsden sh) provide (invoke) procedure,
> however with incompatible parameters, leading to somewhat annoying to
> debug issues.  In my case the error was:
>
> --8<---------------cut here---------------start------------->8---
> guix deploy: error: failed to deploy x: failed to switch systems while deploying '127.0.0.1':
> keyword-argument-error #f "Invalid keyword" () ("/etc/samba/smb.conf")
> --8<---------------cut here---------------end--------------->8---
>
> Which makes sense now when I understand what the problem is, but it took
> while to get to it.
>
> I do not think this should be the case.  Either each activation service
> should be isolated into a fresh user module, or the services provided by
> Guix should not introduce any additional modules into the scope.
> Alternatively, each activation service could be wrapped into
> program-file, that would ensure isolation as well.

Activation scripts are already ‘program-file’s, but unfortunately
(gnu build activation) and (guix build utils) are implicit dependencies.  This
is hard to change at the moment.

I have sent a patch which might partially address your issue:

[PATCH v2 3/3] services: activation: Continue on exceptions.
https://issues.guix.gnu.org/73494#26

It executes activation scripts by ‘invoke’, so they won't change the
environment.

What I'm trying to achieve is to avoid blocking the activation process when one
script fails.

With that patch, when one script fails, its backtrace is printed out by
‘invoke’, additionally a warning is emitted to indicate the failed script:
--8<---------------cut here---------------start------------->8---
activating system...
The following derivation will be built:
  /gnu/store/78x8n7b58nqcllfqfpr4p73q6n2wazak-switch-to-system.scm.drv

building /gnu/store/78x8n7b58nqcllfqfpr4p73q6n2wazak-switch-to-system.scm.drv...
making '/var/guix/profiles/system-110-link' the current system...
populating /etc from /gnu/store/v206hfm2idagh2nczc6ii0m628xyg5dk-etc...
setting up privileged programs in '/run/privileged/bin'...
Backtrace:
           3 (primitive-load "/gnu/store/59651880cmil350zf5hagyhdi7y…")
In ice-9/eval.scm:
    619:8  2 (_ #f)
    619:8  1 (_ #(#(#(#(#<directory (guile-user) 7fdc0c317…>) …) …) …))
In unknown file:
           0 (rmdir "/var/run/dbus")

ERROR: In procedure rmdir:
In procedure rmdir: Directory not empty
guix system: warning: failed to activate '/gnu/store/59651880cmil350zf5hagyhdi7y66dgz-activate-service.scm'.
The following derivation will be built:
  /gnu/store/m1c65sxmqvvpfdsazcka51miixcpsy9g-install-bootloader.scm.drv

building /gnu/store/m1c65sxmqvvpfdsazcka51miixcpsy9g-install-bootloader.scm.drv...
guix system: bootloader successfully installed on '(/efi)'
--8<---------------cut here---------------end--------------->8---

(Cc'd Ludo) Any concern on this change?  Does the "TODO: Use 'load-compiled'."
still apply?




Information forwarded to bug-guix@HIDDEN:
bug#76698; Package guix. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 3 Mar 2025 01:02:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Mar 02 20:02:39 2025
Received: from localhost ([127.0.0.1]:39936 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1touCc-0006LP-GO
	for submit <at> debbugs.gnu.org; Sun, 02 Mar 2025 20:02:38 -0500
Received: from lists.gnu.org ([2001:470:142::17]:47112)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <~@wolfsden.cz>) id 1touCZ-0006K5-NR
 for submit <at> debbugs.gnu.org; Sun, 02 Mar 2025 20:02:36 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <~@wolfsden.cz>) id 1touCU-0008Vl-2L
 for bug-guix@HIDDEN; Sun, 02 Mar 2025 20:02:30 -0500
Received: from wolfsden.cz ([37.205.8.62])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <~@wolfsden.cz>) id 1touCR-0003aW-MT
 for bug-guix@HIDDEN; Sun, 02 Mar 2025 20:02:29 -0500
Received: by wolfsden.cz (Postfix, from userid 104)
 id 89FD435B978; Mon,  3 Mar 2025 01:02:23 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail;
 t=1740963743; bh=/e+3JOkNXThkc8v9+NfT+TMwtNRF/nOOgaDNtIwvBHU=;
 h=From:To:Subject:Date;
 b=oDeoFWYlvpD4EcI2oFpzetYaejmhL65aYXsWmcZhlR6P7/cH0Y8+t8IEjNx8q65SN
 u+Zkqq1Wdyq6/jinAVkNienTjlUp2/KJO+kGCLPgseqY0Dhd/eM4bEcXjOafNgULPy
 exCE72cEuHD7tBfTg8tbskvxDTlmOj76LUy+lJ13gt1utjIzS2dupQHfJH0HzHU5ZB
 b4OB7Rm4VoelRnJ75w8OjJiy/v/1dXkZ5T7St5D94a2LUQdo507ZCz0TCy9TrpONHM
 tSdzQLUj2rmtsOgaLxLtivFTTW4aVZ0gasGJuI5eUq9jV8lL64PSFWAzWXz9AVouBc
 PUd7hUadHCEvH2SiiIU2AV2zyuKUsfzgxtp+bT+9PmR4fStPfvBNRAkghkjeVllaKw
 ecamlaYh0X1zXSNt4VcpeDJ/t/5zPrb/TrlAcjO1kUq6DAmz22O0niAP/NY8FeFaMc
 S85nqfiJFljgiNidKiT0p4zutBB/bHNk3NODkRwexjl2982NyDf2Aq2zw0Tz8oH2v7
 MWjI3V1YXOwHiuEiIlycdivMUQ5sunw5gLnIurI03cb23wzowYTyOSJ4pJuaMO5oLp
 RtFOYTlyL7Ang3CNTWTiVXYh1GEJbkyJ0RwieKV8rC7vHIEl7BqiMdRhkB5hxs05Z0
 6h8ZDvuOaiHo4yr7GIOX3tIk=
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on wolfsden
X-Spam-Level: 
X-Spam-Status: No, score=-3.1 required=5.0 tests=ALL_TRUSTED,BAYES_00,
 DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,URIBL_BLOCKED
 autolearn=ham autolearn_force=no version=3.4.6
Received: from localhost (unknown [128.0.188.242])
 by wolfsden.cz (Postfix) with ESMTPSA id B368B35CE94
 for <bug-guix@HIDDEN>; Mon,  3 Mar 2025 01:02:22 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail;
 t=1740963742; bh=/e+3JOkNXThkc8v9+NfT+TMwtNRF/nOOgaDNtIwvBHU=;
 h=From:To:Subject:Date;
 b=u4qy7MU9bEOTXgnoEnSvEuKFHPvXS99yRBLoAheArfatPhn3+aVkiRtn7h9vGrCqU
 lDwk8IRHcPQY2MJ+55+ODUJTrrrTTr2ayQsODm/TybcWk4siRY8E5p5eNZ6b1d+pn+
 ImayCNfE/sMZY3+h5wcCsjoJ5BlLIw8oySQzHEP6+LyY+NCxw2stfr7KkXCQUjCgm1
 //4otzxRj/J7/bU8x74PdxtUzsqhsTHugep6E9aSlqsx4uSXlek0xr2PasqzxspacG
 4TwYgPOppfGCzC+weawA2s7pS8TvkvlCZCBPiuXxLk3XxwBGZVj7qu4iXF7bulfc/w
 QYkzAIm0mqFjmKRgab0CwELJK3DDju+OF5UcborZ6opuFRJMKo96WWfHn/aur/WlYm
 HoNPChCaFv8zjTd0O6aNpqB3GV/IjtVqjCNgZ3fpDPtNAU6dqEFWF70X3GjKo/b/Qw
 tY5iSaQ2frfCUICRFqAFDuc+ZR8+iJKbxqMESKPBQYDp1j3R6+IK52VjOQu/V4YuO8
 01DMeFojiCubUC7TY8E9wN+wPk8aUhCuoDqizMk1c1+je1Zkc1i8/piz3O+X0LdCay
 7jWicxWjfAwlE2/4KCW554YTJbIJ7tJ+KT2rkscCiNVRLj87oCrBVci+SR4CW8J1xI
 Oiy4qkBhz6dnjM7ebVEV4dyM=
From: Tomas Volf <~@wolfsden.cz>
To: bug-guix@HIDDEN
Subject: Activations interfere with each other modules
Date: Mon, 03 Mar 2025 02:02:22 +0100
Message-ID: <87jz97gc4h.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=37.205.8.62; envelope-from=~@wolfsden.cz;
 helo=wolfsden.cz
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Hello,

when using `activation-service-type' combined with `with-extension', the
various modules seem to interfere with each other.

In my case the samba-service-type interferes with my custom service:

--8<---------------cut here---------------start------------->8---
(define (watcher-activation* config)
  (match-record config <watcher-configuration>
                (user group cache-dir state-dir)
    (with-extension/guile-wolfsden
     #~(begin
         (use-modules (wolfsden fs)
                      (wolfsden sh))
         (for-each (lambda (dir)
                     (mkdir-p dir)
                     (invoke* #$(file-append coreutils "/bin/chown")
                              "-Rv" (string-append #$user ":" #$group) dir)
                     (chmod dir #o700))
                   '(#$cache-dir
                     #$state-dir))))))
--8<---------------cut here---------------end--------------->8---

samba-service-type's activation starts with:

--8<---------------cut here---------------start------------->8---
(define (samba-activation config)
  (let ((package (samba-configuration-package config))
        (config-file (samba-configuration-config-file config)))
    (with-imported-modules '((guix build utils))
--8<---------------cut here---------------end--------------->8---

Both (guix build utils) and (wolfsden sh) provide (invoke) procedure,
however with incompatible parameters, leading to somewhat annoying to
debug issues.  In my case the error was:

--8<---------------cut here---------------start------------->8---
guix deploy: error: failed to deploy x: failed to switch systems while deploying '127.0.0.1':
keyword-argument-error #f "Invalid keyword" () ("/etc/samba/smb.conf") 
--8<---------------cut here---------------end--------------->8---

Which makes sense now when I understand what the problem is, but it took
while to get to it.

I do not think this should be the case.  Either each activation service
should be isolated into a fresh user module, or the services provided by
Guix should not introduce any additional modules into the scope.
Alternatively, each activation service could be wrapped into
program-file, that would ensure isolation as well.

Tomas
-- 
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.




Acknowledgement sent to Tomas Volf <~@wolfsden.cz>:
New bug report received and forwarded. Copy sent to bug-guix@HIDDEN. Full text available.
Report forwarded to bug-guix@HIDDEN:
bug#76698; Package guix. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sun, 9 Mar 2025 11:45:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.