GNU bug report logs - #54831
guix home reconfigure fails with “rmdir: No such file or directory”

Previous Next

Package: guix;

Reported by: Brian Cully <bjc <at> spork.org>

Date: Sun, 10 Apr 2022 01:21:02 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #19 received at 54831-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Brian Cully <bjc <at> spork.org>, Madhavan Krishnan
 <madhavan.make <at> gmail.com>, Christopher Rodriguez <yewscion <at> gmail.com>
Cc: 54831-done <at> debbugs.gnu.org
Subject: Re: bug#54831: guix home reconfigure fails with
 “rmdir: No such
 file or directory”
Date: Mon, 11 Apr 2022 22:46:56 +0200
Hi all,

Brian Cully <bjc <at> spork.org> skribis:

> For the last few days, attempting to issue a home reconfigure fails:
>
> ---[snip]---
> $ guix home reconfigure ./guix-home/config-new.scm
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
> The following derivations will be built:
>   /gnu/store/rbnri9gpvh98qagyk7ws4y5xdvz4skg7-home.drv
>   /gnu/store/hg5whdfsq2ldibfsikhbwppr9pms5vc8-provenance.drv
>   /gnu/store/rsil5s5fs14y2jvysbiv7vi2f0i3gnw2-activate.drv
>   /gnu/store/j85krrfbnc7x6s5wdn0wnp8ikah9gl46-update-symlinks.drv
>
> building /gnu/store/hg5whdfsq2ldibfsikhbwppr9pms5vc8-provenance.drv...
> building /gnu/store/j85krrfbnc7x6s5wdn0wnp8ikah9gl46-update-symlinks.drv...
> building /gnu/store/rsil5s5fs14y2jvysbiv7vi2f0i3gnw2-activate.drv...
> building /gnu/store/rbnri9gpvh98qagyk7ws4y5xdvz4skg7-home.drv...
> Cleaning up symlinks from previous home at /gnu/store/zmp2brsdr0nvrhpbk4kqqc6y8jx90kb1-home.
>
> guix home: error: rmdir: No such file or directory
> ---[snip]---

Christopher Rodriguez <yewscion <at> gmail.com> skribis:

> Seems like the issue is during the deployment, as Madhavan
> said. Specifically, the error message in that form only appears in
> `gnu/home/services/symlink-manager.scm', in the function
> `cleanup-symlinks'.
>
> It seems that, right now, the issue is that `ENOTEMPTY' and `ENOTDIR'
> are tested for and handled, but `ENOENT' is not. Ideally, this should be
> handled and tell the user /which/ file or directory is missing, not halt
> the entire process. And, since we are testing for a missing file (and
> thus have no chance of overwriting a user's data), it would probably
> make the most sense to just create the file that is missing in the next
> step, without stopping at all.
>
> I'll throw together a patch real quick to test with. I could be very off
> base, but I think this should fix this issue.

You were right.

This is fixed by commit 435e1cef0025fbe6cbb71b472218e8d132d1681c, pushed
yesterday.  The patch had been submitted as part of
<https://issues.guix.gnu.org/52808> but had not been applied.  Apologies
for the breakage.

Thanks,
Ludo’.




This bug report was last modified 3 years and 44 days ago.

Previous Next


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