Subject: Re: bug#26809: 08/09: services: nscd: Create /etc/resolv.conf if it does not exist.

From: [email-masked] (Ludovic Courtès)
Date: Mon, 08 May 2017 16:30:06 +0200

Mark H Weaver <[email-masked]> skribis:

> [email-masked] (Ludovic Courtès) writes:
>
>> civodul pushed a commit to branch master
>> in repository guix.
>>
>> commit 49f9d7f697d19870f01104cdb6a90a32aea87679
>> Author: Ludovic Courtès <[email-masked]>
>> Date:   Tue May 2 12:21:31 2017 +0200
>>
>>     services: nscd: Create /etc/resolv.conf if it does not exist.
>>     
>>     * gnu/services/base.scm (nscd-activation): Create /etc/resolv.conf if it
>>     does not exist yet.
>
> This commit broke the boot process on my system.  The problem is that
> I'm using Network Manager, which makes /etc/resolv.conf into a symlink
> that points to /var/run/NetworkManager/resolv.conf.  Since /var/run is
> cleaned during early boot, when this new activation code runs,
> /etc/resolv.conf is a broken symlink.
>
> I guess that 'file-exists?' returns #false for a broken symlink, and the
> 'call-with-output-file' tries to open the target of the symlink, which
> fails.

Indeed.  I guess this is fixed by
c298fb133acbdc17e05a79c10ab9a9e214368264.

Thanks,
Ludo’.