Subject: Re: [bug#73494] [PATCH 0/2] tmpfs /run.

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 21 Jan 2025 13:16:52 +0900

Hi Hilton,

Sorry for the delay.

Hilton Chain <[email-masked]> writes:

> Hi Maxim,
> On Thu, 02 Jan 2025 23:11:54 +0800,
> Maxim Cournoyer wrote:
>>
>> Hi Hilton,
>>
>> Sorry for the delay.
>>
>> Hilton Chain <[email-masked]> writes:
>>
>> [...]
>>
>> > Another concern I have is, with /run and /var/run unified,
>> > ‘guix system roll-back’ and ‘guix system switch-generation’ can't finish the
>> > activation stage because of the error handling in dbus-activation from previous
>> > generations.
>> >
>> > $ guix system describe
>> > Generation 7	Dec 20 2024 23:10:05	(current)
>> > [...]
>> > $ sudo guix system roll-back
>> > [...]
>> > switched from generation 7 to 6
>> > [...]
>> > guix system: error: rmdir: Directory not empty
>> > $ guix system describe
>> > Generation 6	Dec 20 2024 22:57:19	(current)
>> >
>> > Do we have a way to fix this?
>>
>> It's not clear to me where it fails exactly, so I'm not sure, but in the
>
> It comes from error handling code in (@@ (gnu services dbus) dbus-activation),
> dbus-activation.
>
>> worst case a fat warning as a NEWS entry could do, perhaps?  Would it
>> break dbus on a reboot (activation runs at reboot too, right?), or just
>> print this otherwise innocuous error at roll-back/switch-generation
>> time?
>
> Yes, it only affects roll-back/switch-generation and is harmless to dbus service
> since the activation should be done already.
>
> However I'm afraid its failure may break the activation process:
>
> (for-each primitive-load
>           '("...-activate-service.scm" ...))
>
> Can we run this primitive-load with false-if-exception?

I guess we could do that; extra points if the error is caught and logged
(but otherwise neutralized).

-- 
Thanks,
Maxim