X-Git-Url: https://git.tld-linux.org/?p=packages%2Fgrub2.git;a=blobdiff_plain;f=grub-mkconfig-diagnostics.patch;h=afc95b479f8e0cc685fdc7d9b16eee5b7f9ff902;hp=58c3cade2e7afb3f84f0b13b825444d32ca1e819;hb=HEAD;hpb=f95a1ca1ec8ddd7b01b033fd552bc7619faed11e diff --git a/grub-mkconfig-diagnostics.patch b/grub-mkconfig-diagnostics.patch index 58c3cad..36edb0b 100644 --- a/grub-mkconfig-diagnostics.patch +++ b/grub-mkconfig-diagnostics.patch @@ -1,7 +1,49 @@ -diff -urNp grub-2.02-rc1.orig/util/grub.d/00_header.in grub-2.02-rc1/util/grub.d/00_header.in ---- grub-2.02-rc1.orig/util/grub.d/00_header.in 2017-02-08 15:03:12.814319390 +0000 -+++ grub-2.02-rc1/util/grub.d/00_header.in 2017-02-08 15:03:25.069319252 +0000 -@@ -229,7 +229,7 @@ esac +diff -dur -x '*~' -x '*.orig' grub-2.02~beta2.orig/util/grub-mkconfig.in grub-2.02~beta2/util/grub-mkconfig.in +--- grub-2.02~beta2.orig/util/grub-mkconfig.in 2014-01-04 11:34:32.715240491 +0100 ++++ grub-2.02~beta2/util/grub-mkconfig.in 2014-01-04 11:34:50.135240649 +0100 +@@ -250,11 +250,16 @@ + if test "x${grub_cfg}" != "x"; then + rm -f "${grub_cfg}.new" + oldumask=$(umask); umask 077 ++ # open fd &3 for diagnostic messages ++ exec 3>&1 + exec > "${grub_cfg}.new" + umask $oldumask ++else ++ # open fd &3 for diagnostic messages ++ exec 3>&2 + fi +-gettext "Generating grub configuration file ..." >&2 +-echo >&2 ++gettext "Generating grub configuration file ..." >&3 ++echo >&3 + + cat << EOF + # +@@ -286,7 +291,7 @@ + gettext_printf "Syntax errors are detected in generated GRUB config file. + Ensure that there are no errors in /etc/sysconfig/grub + and /etc/grub.d/* files or please file a bug report with +-%s file attached." "${grub_cfg}.new" >&2 ++%s file attached." "${grub_cfg}.new" >&3 + echo >&2 + exit 1 + else +@@ -295,5 +300,8 @@ + fi + fi + +-gettext "done" >&2 +-echo >&2 ++gettext "done" >&3 ++echo >&3 ++ ++# close diagnostic stream ++exec 3>&- +diff -dur -x '*~' -x '*.orig' grub-2.02~beta2.orig/util/grub.d/00_header.in grub-2.02~beta2/util/grub.d/00_header.in +--- grub-2.02~beta2.orig/util/grub.d/00_header.in 2014-01-04 10:50:51.000000000 +0100 ++++ grub-2.02~beta2/util/grub.d/00_header.in 2014-01-04 11:34:50.135240649 +0100 +@@ -229,7 +229,7 @@ if [ "x$gfxterm" = x1 ]; then if [ "x$GRUB_THEME" != x ] && [ -f "$GRUB_THEME" ] \ && is_path_readable_by_grub "$GRUB_THEME"; then @@ -10,7 +52,7 @@ diff -urNp grub-2.02-rc1.orig/util/grub.d/00_header.in grub-2.02-rc1/util/grub.d prepare_grub_to_access_device `${grub_probe} --target=device "$GRUB_THEME"` cat << EOF -@@ -265,12 +265,12 @@ export theme +@@ -265,12 +265,12 @@ EOF elif [ "x$GRUB_BACKGROUND" != x ] && [ -f "$GRUB_BACKGROUND" ] \ && is_path_readable_by_grub "$GRUB_BACKGROUND"; then @@ -25,10 +67,10 @@ diff -urNp grub-2.02-rc1.orig/util/grub.d/00_header.in grub-2.02-rc1/util/grub.d esac prepare_grub_to_access_device `${grub_probe} --target=device "$GRUB_BACKGROUND"` cat << EOF -diff -urNp grub-2.02-rc1.orig/util/grub.d/10_hurd.in grub-2.02-rc1/util/grub.d/10_hurd.in ---- grub-2.02-rc1.orig/util/grub.d/10_hurd.in 2017-02-08 15:03:12.814319390 +0000 -+++ grub-2.02-rc1/util/grub.d/10_hurd.in 2017-02-08 15:03:25.069319252 +0000 -@@ -45,8 +45,8 @@ for i in /boot/gnumach* ; do +diff -dur -x '*~' -x '*.orig' grub-2.02~beta2.orig/util/grub.d/10_hurd.in grub-2.02~beta2/util/grub.d/10_hurd.in +--- grub-2.02~beta2.orig/util/grub.d/10_hurd.in 2013-12-17 18:25:57.000000000 +0100 ++++ grub-2.02~beta2/util/grub.d/10_hurd.in 2014-01-04 11:35:59.171907965 +0100 +@@ -45,8 +45,8 @@ basename=`basename $i` dirname=`dirname $i` rel_dirname=`make_system_path_relative_to_its_root $dirname` @@ -39,7 +81,7 @@ diff -urNp grub-2.02-rc1.orig/util/grub.d/10_hurd.in grub-2.02-rc1/util/grub.d/1 kernels="${kernels} ${rel_dirname}/${basename}" at_least_one=true fi -@@ -60,8 +60,8 @@ esac +@@ -60,8 +60,8 @@ for i in /hurd/${hurd_fs}.static /hurd/exec ; do if test -e "$i" ; then @@ -50,7 +92,7 @@ diff -urNp grub-2.02-rc1.orig/util/grub.d/10_hurd.in grub-2.02-rc1/util/grub.d/1 at_least_one=true else all_of_them=false -@@ -74,8 +74,8 @@ if ${at_least_one} ; then : ; else +@@ -74,8 +74,8 @@ fi if ${all_of_them} && test -e /lib/ld.so.1 ; then : ; else @@ -61,19 +103,19 @@ diff -urNp grub-2.02-rc1.orig/util/grub.d/10_hurd.in grub-2.02-rc1/util/grub.d/1 exit 1 fi -diff -urNp grub-2.02-rc1.orig/util/grub.d/10_kfreebsd.in grub-2.02-rc1/util/grub.d/10_kfreebsd.in ---- grub-2.02-rc1.orig/util/grub.d/10_kfreebsd.in 2017-02-08 15:03:12.814319390 +0000 -+++ grub-2.02-rc1/util/grub.d/10_kfreebsd.in 2017-02-08 15:03:25.069319252 +0000 -@@ -161,7 +161,7 @@ is_top_level=true +diff -dur -x '*~' -x '*.orig' grub-2.02~beta2.orig/util/grub.d/10_kfreebsd.in grub-2.02~beta2/util/grub.d/10_kfreebsd.in +--- grub-2.02~beta2.orig/util/grub.d/10_kfreebsd.in 2013-12-17 18:25:57.000000000 +0100 ++++ grub-2.02~beta2/util/grub.d/10_kfreebsd.in 2014-01-04 11:34:50.135240649 +0100 +@@ -158,7 +158,7 @@ + is_top_level=true - while [ "x$list" != "x" ] ; do - kfreebsd=`version_find_latest $list` + for kfreebsd in ${reverse_sorted_list}; do - gettext_printf "Found kernel of FreeBSD: %s\n" "$kfreebsd" >&2 + gettext_printf "Found kernel of FreeBSD: %s\n" "$kfreebsd" >&3 basename=`basename $kfreebsd` dirname=`dirname $kfreebsd` rel_dirname=`make_system_path_relative_to_its_root $dirname` -@@ -210,7 +210,7 @@ while [ "x$list" != "x" ] ; do +@@ -207,7 +207,7 @@ fi done if test -n "${module_dir}" ; then @@ -82,43 +124,42 @@ diff -urNp grub-2.02-rc1.orig/util/grub.d/10_kfreebsd.in grub-2.02-rc1/util/grub module_dir_rel=$(make_system_path_relative_to_its_root $module_dir) fi -diff -urNp grub-2.02-rc1.orig/util/grub.d/10_linux.in grub-2.02-rc1/util/grub.d/10_linux.in ---- grub-2.02-rc1.orig/util/grub.d/10_linux.in 2017-02-08 15:03:12.814319390 +0000 -+++ grub-2.02-rc1/util/grub.d/10_linux.in 2017-02-08 15:03:25.070319252 +0000 -@@ -180,7 +180,7 @@ submenu_indentation="" +--- grub-2.04/util/grub.d/10_linux.in.orig 2018-11-24 18:13:02.000000000 +0100 ++++ grub-2.04/util/grub.d/10_linux.in 2019-07-05 13:53:33.737370014 +0200 +@@ -194,7 +194,7 @@ + is_top_level=true - while [ "x$list" != "x" ] ; do - linux=`version_find_latest $list` + for linux in ${reverse_sorted_list}; do - gettext_printf "Found linux image: %s\n" "$linux" >&2 + gettext_printf "Found linux image: %s\n" "$linux" >&3 basename=`basename $linux` dirname=`dirname $linux` rel_dirname=`make_system_path_relative_to_its_root $dirname` -@@ -217,7 +217,7 @@ while [ "x$list" != "x" ] ; do +@@ -233,7 +233,7 @@ + for i in ${initrd}; do + initrd_display="${initrd_display} ${dirname}/${i}" + done +- gettext_printf "Found initrd image: %s\n" "$(echo $initrd_display)" >&2 ++ gettext_printf "Found initrd image: %s\n" "$(echo $initrd_display)" >&3 fi - if test -n "${initrd}" ; then -- gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2 -+ gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&3 - elif test -z "${initramfs}" ; then - # "UUID=" and "ZFS=" magic is parsed by initrd or initramfs. Since there's - # no initrd or builtin initramfs, it can't work here. -diff -urNp grub-2.02-rc1.orig/util/grub.d/10_netbsd.in grub-2.02-rc1/util/grub.d/10_netbsd.in ---- grub-2.02-rc1.orig/util/grub.d/10_netbsd.in 2017-02-08 15:03:12.814319390 +0000 -+++ grub-2.02-rc1/util/grub.d/10_netbsd.in 2017-02-08 15:03:25.070319252 +0000 -@@ -155,7 +155,7 @@ for k in /netbsd $(ls -t /netbsd?* 2>/de + config= +diff -dur -x '*~' -x '*.orig' grub-2.02~beta2.orig/util/grub.d/10_netbsd.in grub-2.02~beta2/util/grub.d/10_netbsd.in +--- grub-2.02~beta2.orig/util/grub.d/10_netbsd.in 2013-12-17 18:25:57.000000000 +0100 ++++ grub-2.02~beta2/util/grub.d/10_netbsd.in 2014-01-04 11:34:50.135240649 +0100 +@@ -155,7 +155,7 @@ continue fi - gettext_printf "Found NetBSD kernel: %s\n" "$k" >&2 + gettext_printf "Found NetBSD kernel: %s\n" "$k" >&3 - if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then - netbsd_entry "knetbsd" "$k" simple "${GRUB_CMDLINE_NETBSD_DEFAULT}" -diff -urNp grub-2.02-rc1.orig/util/grub.d/10_windows.in grub-2.02-rc1/util/grub.d/10_windows.in ---- grub-2.02-rc1.orig/util/grub.d/10_windows.in 2017-02-08 15:03:12.814319390 +0000 -+++ grub-2.02-rc1/util/grub.d/10_windows.in 2017-02-08 15:03:25.070319252 +0000 -@@ -82,7 +82,7 @@ for drv in $drives ; do + # The GRUB_DISABLE_SUBMENU option used to be different than others since it was + # mentioned in the documentation that has to be set to 'y' instead of 'true' to +diff -dur -x '*~' -x '*.orig' grub-2.02~beta2.orig/util/grub.d/10_windows.in grub-2.02~beta2/util/grub.d/10_windows.in +--- grub-2.02~beta2.orig/util/grub.d/10_windows.in 2013-12-17 18:25:57.000000000 +0100 ++++ grub-2.02~beta2/util/grub.d/10_windows.in 2014-01-04 11:34:50.135240649 +0100 +@@ -82,7 +82,7 @@ # Get boot device. dev=`${grub_probe} -t device "$dir" 2>/dev/null` || continue @@ -127,31 +168,30 @@ diff -urNp grub-2.02-rc1.orig/util/grub.d/10_windows.in grub-2.02-rc1/util/grub. cat << EOF menuentry '$(echo "$OS" | grub_quote)' \$menuentry_id_option '$osid-$(grub_get_device_id "${dev}")' { EOF -diff -urNp grub-2.02-rc1.orig/util/grub.d/20_linux_xen.in grub-2.02-rc1/util/grub.d/20_linux_xen.in ---- grub-2.02-rc1.orig/util/grub.d/20_linux_xen.in 2017-02-08 15:03:12.814319390 +0000 -+++ grub-2.02-rc1/util/grub.d/20_linux_xen.in 2017-02-08 15:03:25.070319252 +0000 -@@ -208,7 +208,7 @@ while [ "x${xen_list}" != "x" ] ; do - fi - while [ "x$list" != "x" ] ; do - linux=`version_find_latest $list` +--- grub-2.04/util/grub.d/20_linux_xen.in.orig 2019-04-23 10:54:47.000000000 +0200 ++++ grub-2.04/util/grub.d/20_linux_xen.in 2019-07-05 13:55:11.220267798 +0200 +@@ -243,7 +243,7 @@ + done + + for linux in ${reverse_sorted_linux_list}; do - gettext_printf "Found linux image: %s\n" "$linux" >&2 + gettext_printf "Found linux image: %s\n" "$linux" >&3 basename=`basename $linux` dirname=`dirname $linux` rel_dirname=`make_system_path_relative_to_its_root $dirname` -@@ -231,7 +231,7 @@ while [ "x${xen_list}" != "x" ] ; do - fi - done - if test -n "${initrd}" ; then -- gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2 -+ gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&3 - else - # "UUID=" magic is parsed by initrds. Since there's no initrd, it can't work here. - linux_root_device_thisversion=${GRUB_DEVICE} -diff -urNp grub-2.02-rc1.orig/util/grub.d/30_os-prober.in grub-2.02-rc1/util/grub.d/30_os-prober.in ---- grub-2.02-rc1.orig/util/grub.d/30_os-prober.in 2017-02-08 15:03:12.814319390 +0000 -+++ grub-2.02-rc1/util/grub.d/30_os-prober.in 2017-02-08 15:03:25.070319252 +0000 -@@ -141,7 +141,7 @@ for OS in ${OSPROBED} ; do +@@ -274,7 +274,7 @@ + for i in ${initrd}; do + initrd_display="${initrd_display} ${dirname}/${i}" + done +- gettext_printf "Found initrd image: %s\n" "$(echo $initrd_display)" >&2 ++ gettext_printf "Found initrd image: %s\n" "$(echo $initrd_display)" >&3 + fi + + if test -z "${initrd_real}"; then +diff -dur -x '*~' -x '*.orig' grub-2.02~beta2.orig/util/grub.d/30_os-prober.in grub-2.02~beta2/util/grub.d/30_os-prober.in +--- grub-2.02~beta2.orig/util/grub.d/30_os-prober.in 2014-01-04 10:50:51.000000000 +0100 ++++ grub-2.02~beta2/util/grub.d/30_os-prober.in 2014-01-04 11:34:50.135240649 +0100 +@@ -134,7 +134,7 @@ # os-prober returns text string followed by optional counter CLASS="--class $(echo "${LABEL}" | LC_ALL=C sed 's,[[:digit:]]*$,,' | cut -d' ' -f1 | tr 'A-Z' 'a-z' | LC_ALL=C sed 's,[^[:alnum:]_],_,g')" @@ -160,7 +200,7 @@ diff -urNp grub-2.02-rc1.orig/util/grub.d/30_os-prober.in grub-2.02-rc1/util/gru case ${BOOT} in chain) -@@ -329,7 +329,7 @@ EOF +@@ -329,7 +329,7 @@ ;; *) # TRANSLATORS: %s is replaced by OS name. @@ -169,47 +209,3 @@ diff -urNp grub-2.02-rc1.orig/util/grub.d/30_os-prober.in grub-2.02-rc1/util/gru ;; esac done -diff -urNp grub-2.02-rc1.orig/util/grub-mkconfig.in grub-2.02-rc1/util/grub-mkconfig.in ---- grub-2.02-rc1.orig/util/grub-mkconfig.in 2017-02-08 15:03:12.813319390 +0000 -+++ grub-2.02-rc1/util/grub-mkconfig.in 2017-02-08 15:04:41.230318395 +0000 -@@ -247,11 +247,16 @@ export GRUB_DEFAULT \ - if test "x${grub_cfg}" != "x"; then - rm -f "${grub_cfg}.new" - oldumask=$(umask); umask 077 -+ # open fd &3 for diagnostic messages -+ exec 3>&1 - exec > "${grub_cfg}.new" - umask $oldumask -+else -+ # open fd &3 for diagnostic messages -+ exec 3>&2 - fi --gettext "Generating grub configuration file ..." >&2 --echo >&2 -+gettext "Generating grub configuration file ..." >&3 -+echo >&3 - - cat << EOF - # -@@ -286,8 +291,8 @@ if test "x${grub_cfg}" != "x" ; then - gettext_printf "Syntax errors are detected in generated GRUB config file. - Ensure that there are no errors in /etc/sysconfig/grub - and /etc/grub.d/* files or please file a bug report with --%s file attached." "${grub_cfg}.new" >&2 -- echo >&2 -+%s file attached." "${grub_cfg}.new" >&3 -+ echo >&3 - exit 1 - else - # none of the children aborted with error, install the new grub.cfg -@@ -295,5 +300,8 @@ and /etc/grub.d/* files or please file a - fi - fi - --gettext "done" >&2 --echo >&2 -+gettext "done" >&3 -+echo >&3 -+ -+# close diagnostic stream -+exec 3>&-