From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: /var/guix/gcroot/profiles points to non-existing /mnt subdirectory Date: Mon, 29 Aug 2016 00:14:04 +0200 Message-ID: <87zinwwngz.fsf@gnu.org> References: <7t1t1d8fm2.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49599) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1be8LD-0000au-Lh for guix-devel@gnu.org; Sun, 28 Aug 2016 18:14:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1be8L9-00039f-EY for guix-devel@gnu.org; Sun, 28 Aug 2016 18:14:10 -0400 In-Reply-To: <7t1t1d8fm2.fsf@gmail.com> ("Carlos =?utf-8?Q?S=C3=A1nchez?= de La Lama"'s message of "Thu, 25 Aug 2016 09:36:21 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Carlos =?utf-8?Q?S=C3=A1nchez?= de La Lama Cc: guix-devel@gnu.org Hello, csanchezdll@gmail.com (Carlos S=C3=A1nchez de La Lama) skribis: > In my Guix SD installation, I have the following contents inside > /var/guix/gcroots: > > lrwxrwxrwx 1 root root 18 ago 24 16:45 booted-system -> /run/booted-system > lrwxrwxrwx 1 root root 19 ago 24 16:45 current-system -> /run/current-sys= tem > lrwxrwxrwx 1 root root 52 ago 24 16:45 grub.cfg -> /gnu/store/rvcr64gcqva= y3g68bsrbcp9kahsnh7an-grub.cfg > lrwxrwxrwx 1 root root 22 ago 24 16:44 profiles -> /mnt/var/guix/profiles > > However, /mnt/var/guix/profiles does not exist (there is nothing in > /mnt). Shouldn't it point to /var/guix/profiles? Indeed. Having a dangling symlink in there does sound scary since this is the directory that specifies garbage collector (GC) roots. Fortunately, the GC automatically looks for roots in /var/guix/profiles as well: --8<---------------cut here---------------start------------->8--- Roots LocalStore::findRoots() { Roots roots; /* Process direct roots in {gcroots,manifests,profiles}. */ nix::findRoots(*this, settings.nixStateDir + "/" + gcRootsDir, DT_UNKNO= WN, roots); if (pathExists(settings.nixStateDir + "/manifests")) nix::findRoots(*this, settings.nixStateDir + "/manifests", DT_UNKNO= WN, roots); nix::findRoots(*this, settings.nixStateDir + "/profiles", DT_UNKNOWN, r= oots); return roots; } --8<---------------cut here---------------end--------------->8--- =E2=80=A6 so this dangling symlink is harmless. Nevertheless, I went ahead and fixed it in commit 334bda9a9e01b73b772b3f30b04abea35e5391f8. You can fix it manually on your system, or delete it. Thanks! Ludo=E2=80=99.