Subject: bug#66659: closed (Re: bug#66659: (home-)on-first-login script broken when no gexps are added)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 21 Oct 2023 14:16:02 +0000

Your bug report

#66659: (home-)on-first-login script broken when no gexps are added

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
66659: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66659
GNU Bug Tracking System
Contact [email-masked] with problems

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’.

Subject: (home-)on-first-login script broken when no gexps are added
From: Nils Landt <[email-masked]>
To: "[email-masked]" <[email-masked]>
Date: Sat, 21 Oct 2023 08:14:05 +0200 (CEST)
List-Id: <debbugs-submit.debbugs.gnu.org>

Error message:

ice-9/psyntax.scm:2824:12: In procedure syntax-violation:
Syntax error:
/home/nl/.guix-home/on-first-login:3:1233: source expression failed to match any pattern in form (when (claim-first-run flag-file-path))

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.

Broken by b92235ea8b06e304072bad55ae006593ea673568