diff --git a/debian/changelog b/debian/changelog index a8c5ddecc..9cdafa059 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +grub2 (2.00-11) UNRELEASED; urgency=low + + * debian/{postinst,config}.in: Don't fail if /etc/default/grub.d + configuration snippets exist, but /etc/default/grub does not. + + -- Adam Conrad Fri, 04 Jan 2013 13:11:42 -0700 + grub2 (2.00-10) experimental; urgency=low * Support parallel builds. diff --git a/debian/config.in b/debian/config.in index 8ef81419c..5cefedcbd 100644 --- a/debian/config.in +++ b/debian/config.in @@ -36,14 +36,14 @@ case @PACKAGE@ in ;; esac -if test -e /etc/default/grub ; then - . /etc/default/grub - for x in /etc/default/grub.d/*.cfg ; do - if [ -e "$x" ]; then - . "$x" - fi - done +for x in /etc/default/grub /etc/default/grub.d/*.cfg ; do + if [ -e "$x" ]; then + DEFAULT_FOUND="yes" + . "$x" + fi +done +if [ "$DEFAULT_FOUND" = "yes" ]; then db_set grub2/linux_cmdline "$GRUB_CMDLINE_LINUX" db_set grub2/linux_cmdline_default "$GRUB_CMDLINE_LINUX_DEFAULT" fi diff --git a/debian/postinst.in b/debian/postinst.in index b5288f914..5c628c9b1 100644 --- a/debian/postinst.in +++ b/debian/postinst.in @@ -281,15 +281,17 @@ get_mountpoint() config_item() { - if [ -f /etc/default/grub ]; then - . /etc/default/grub || return - for x in /etc/default/grub.d/*.cfg; do - if [ -e "$x" ]; then - . "$x" - fi - done + for x in /etc/default/grub /etc/default/grub.d/*.cfg; do + if [ -e "$x" ]; then + DEFAULT_FOUND="yes" + . "$x" + fi + done + if [ "$DEFAULT_FOUND" = "yes" ]; then + eval echo "\$$1" + else + return fi - eval echo "\$$1" } case "$1" in