Subject: bug#54831: closed (Re: bug#54831: guix home reconfigure fails with “rmdir: No such file or directory”)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 11 Apr 2022 20:48:02 +0000

Your bug report

#54831: guix home reconfigure fails with “rmdir: No such file or directory”

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

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

Subject: Re: bug#54831: guix home reconfigure fails with“rmdir: No such file or directory”
From: Ludovic Courtès <[email-masked]>
To: Brian Cully <[email-masked]>, Madhavan Krishnan <[email-masked]>, Christopher Rodriguez <[email-masked]>
Cc: [email-masked]
Date: Mon, 11 Apr 2022 22:46:56 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi all,

Brian Cully <[email-masked]> 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 <[email-masked]> 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’.

Subject: guix home reconfigure fails with “rmdir: No such file or directory”
From: Brian Cully <[email-masked]>
To: [email-masked]
Date: Sat, 09 Apr 2022 19:53:36 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

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]---

This fails in the same way even when using a previously working
configuration:

---[snip]---
$ guix home list-generations
	⋮
Generation 27	Apr 05 2022 19:44:03	(current)
  file name: /var/guix/profiles/per-user/bjc/guix-home-27-link
  canonical file name: /gnu/store/zmp2brsdr0nvrhpbk4kqqc6y8jx90kb1-home
  channels:
    guix:
      repository URL: https://git.savannah.gnu.org/git/guix.git
      branch: master
      commit: 3b3cc9dfed30afec70a6feaced3710bf79f8b2bc
  configuration file: /gnu/store/k90xv2x75nfc1wyxbw4171m6wxykqck6-configuration.scm

$ guix home reconfigure /gnu/store/k90xv2x75nfc1wyxbw4171m6wxykqck6-configuration.scm
Cleaning up symlinks from previous home at /gnu/store/zmp2brsdr0nvrhpbk4kqqc6y8jx90kb1-home.

guix home: error: rmdir: No such file or directory
---[snip]---

-bjc