Subject: Re: bug#66659: (home-)on-first-login script broken when no gexps are added
From: Ludovic Courtès <[email-masked]>
To: Carlo Zancanaro <[email-masked]>
Cc: [email-masked], Nils Landt <[email-masked]>
Date: Sat, 21 Oct 2023 16:15:07 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Carlo & Nils,

Carlo Zancanaro <[email-masked]> skribis:

> On Sat, Oct 21 2023, Nils Landt wrote:
>> ...
>> As you can see, there is no body in the "when" expression.
>>
>> Code in gnu/home/services.scm:438 :
>>
>>           (if (file-exists? xdg-runtime-dir)
>>               (when (claim-first-run flag-file-path)
>>                 #$@gexps)
>>
>> In my case, it appears that gexps is empty, resulting in the invalid syntax.
>
> Ah, yep, that's an issue. That issue was introduced in 6b0a32196982a0a2f4dbb59d35e55833a5545ac6.
>
> I guess this raises a question about how to resolve this: if we have no gexps, do we still want to claim the first run?
>
> If yes: we can add #t (or whatever) to the end of the "when" form to make sure it's never empty.
>
> If no: we can generate an empty on-first-login script that does nothing.
>
> The previous behaviour was to still claim the first run, so I'll send through a patch that does that.

I’ve just pushed something similar to what you provided, Carlo, in
commit e098ba2f499bbddfea50c85058e4077e39b85513.

We should be good now.

Thank you!

Ludo’.