From 1ba2015450263396bf47a108caba6fd66b1d5e79 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 30 Dec 2015 12:53:36 +0100 Subject: [PATCH] install-grub: Make more robust against GC'ed system profile entries Previously this barfed with: updating GRUB 2 menu... fileparse(): need a valid pathname at /nix/store/zldbbngl0f8g5iv4rslygxwp0dbg1624-install-grub.pl line 391. warning: error(s) occured while switching to the new configuration --- nixos/modules/system/boot/loader/grub/install-grub.pl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index af39e50ff72d..b8ef02da4bc2 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -387,6 +387,10 @@ sub addProfile { my $curEntry = 0; foreach my $link (@links) { last if $curEntry++ >= $configurationLimit; + if (! -e "$link/nixos-version") { + warn "skipping corrupt system profile entry ‘$link’\n"; + next; + } my $date = strftime("%F", localtime(lstat($link)->mtime)); my $version = -e "$link/nixos-version"