diff --git a/ChangeLog b/ChangeLog index ddf61f442..86f6f204d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-09-19 BVK Chaitanya + + * util/grub-mkconfig.in: Check the config script for syntax errors + before saving. + 2010-09-19 Colin Watson 2010-09-19 Vladimir Serbinenko diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in index 3ba9cd63e..4a06e19bc 100644 --- a/util/grub-mkconfig.in +++ b/util/grub-mkconfig.in @@ -305,8 +305,15 @@ for i in ${grub_mkconfig_dir}/* ; do done if test "x${grub_cfg}" != "x" ; then - # none of the children aborted with error, install the new grub.cfg - mv -f ${grub_cfg}.new ${grub_cfg} + if ! grub-script-check ${grub_cfg}.new; then + echo "Syntax errors are detected in generated GRUB config file." >&2 + echo "Ensure that there are no errors in /etc/default/grub" >&2 + echo "and /etc/grub.d/* files or please file a bug report with" >&2 + echo "${grub_cfg}.new file attached." >&2 + else + # none of the children aborted with error, install the new grub.cfg + mv -f ${grub_cfg}.new ${grub_cfg} + fi fi echo "done" >&2