]> git.proxmox.com Git - grub2.git/commitdiff
Bail out if trying to run grub-mkconfig during upgrade to 2.00
authorColin Watson <cjwatson@ubuntu.com>
Mon, 13 Jan 2014 12:13:03 +0000 (12:13 +0000)
committerColin Watson <cjwatson@debian.org>
Fri, 16 Mar 2018 10:56:39 +0000 (10:56 +0000)
Since files in /etc/grub.d/ are conffiles, they are not put in place
until grub-common is configured, meaning that they may be out of sync
with the parts of grub-mkconfig that reside in /usr/.  In GRUB 1.99,
/etc/grub.d/00_header contained a reference to ${GRUB_PREFIX}/video.lst.
This and other code from 1.99 breaks with 2.00's grub-mkconfig.
Deferring this to when grub-PLATFORM.postinst eventually runs is safe
and avoids this problem.

Forwarded: no
Last-Update: 2013-12-25

Patch-Name: mkconfig_mid_upgrade.patch

util/grub-mkconfig.in

index 54fbe5288b06cc45322bde799f5cc77fcccb1d02..99ba7acba383ca5012a3ffa6fe13ad84eee2fd19 100644 (file)
@@ -102,6 +102,13 @@ do
     esac
 done
 
+if fgrep -qs '${GRUB_PREFIX}/video.lst' "${grub_mkconfig_dir}/00_header"; then
+  echo "GRUB >= 2.00 has been unpacked but not yet configured." >&2
+  echo "grub-mkconfig will not work until the upgrade is complete." >&2
+  echo "It should run later as part of configuring the new GRUB packages." >&2
+  exit 0
+fi
+
 if [ "x$EUID" = "x" ] ; then
   EUID=`id -u`
 fi