forked from pool/grub2
86210d73de
- quote localized "Loading ..." messages in grub.cfg (bnc#790195) (forwarded request 141967 from arvidjaar) OBS-URL: https://build.opensuse.org/request/show/141984 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/grub2?expand=0&rev=50
108 lines
4.3 KiB
Diff
108 lines
4.3 KiB
Diff
From: Andrey Borzenkov <arvidjaar@gmail.com>
|
|
Date: Mon Nov 19 16:40:25 UTC 2012
|
|
Subject: properly quote translated strings in grub.cfg
|
|
|
|
References: bnc#790195
|
|
Patch-Mainline: no
|
|
|
|
Not all translated strings in grub.cfg were properly quoted. This
|
|
resulted in parser errors for languages that contained literal single
|
|
quote in translations.
|
|
|
|
Additionally fix grub_quote function; it had too many levels of quoting
|
|
(fixed upstream).
|
|
|
|
Index: grub-2.00/util/grub.d/10_hurd.in
|
|
===================================================================
|
|
--- grub-2.00.orig/util/grub.d/10_hurd.in
|
|
+++ grub-2.00/util/grub.d/10_hurd.in
|
|
@@ -109,7 +109,7 @@ EOF
|
|
fi
|
|
|
|
prepare_grub_to_access_device "${GRUB_DEVICE_BOOT}" | sed -e "s/^/\t/"|sed "s/^/$submenu_indentation/"
|
|
- message="$(gettext_printf "Loading GNU Mach ...")"
|
|
+ message="$(gettext_printf "Loading GNU Mach ..." | grub_quote)"
|
|
|
|
if [ x$type = xrecovery ] ; then
|
|
opts="-s"
|
|
@@ -125,7 +125,7 @@ EOF
|
|
save_default_entry | sed -e "s/^/\t/"| sed "s/^/$submenu_indentation/"
|
|
fi
|
|
prepare_grub_to_access_device "${GRUB_DEVICE}" | sed -e "s/^/\t/"| sed "s/^/$submenu_indentation/"
|
|
- message="$(gettext_printf "Loading the Hurd ...")"
|
|
+ message="$(gettext_printf "Loading the Hurd ..." | grub_quote)"
|
|
if [ x$type = xrecovery ] ; then
|
|
opts=
|
|
else
|
|
Index: grub-2.00/util/grub.d/10_kfreebsd.in
|
|
===================================================================
|
|
--- grub-2.00.orig/util/grub.d/10_kfreebsd.in
|
|
+++ grub-2.00/util/grub.d/10_kfreebsd.in
|
|
@@ -98,7 +98,7 @@ kfreebsd_entry ()
|
|
fi
|
|
|
|
printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
|
|
- message="$(gettext_printf "Loading kernel of FreeBSD %s ..." ${version})"
|
|
+ message="$(gettext_printf "Loading kernel of FreeBSD %s ..." ${version} | grub_quote)"
|
|
sed "s/^/$submenu_indentation/" << EOF
|
|
echo '$message'
|
|
kfreebsd ${rel_dirname}/${basename} ${args}
|
|
Index: grub-2.00/util/grub.d/10_linux.in
|
|
===================================================================
|
|
--- grub-2.00.orig/util/grub.d/10_linux.in
|
|
+++ grub-2.00/util/grub.d/10_linux.in
|
|
@@ -132,14 +132,14 @@ linux_entry ()
|
|
fi
|
|
printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
|
|
fi
|
|
- message="$(gettext_printf "Loading Linux %s ..." ${version})"
|
|
+ message="$(gettext_printf "Loading Linux %s ..." ${version} | grub_quote)"
|
|
sed "s/^/$submenu_indentation/" << EOF
|
|
echo '$message'
|
|
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ${args}
|
|
EOF
|
|
if test -n "${initrd}" ; then
|
|
# TRANSLATORS: ramdisk isn't identifier. Should be translated.
|
|
- message="$(gettext_printf "Loading initial ramdisk ...")"
|
|
+ message="$(gettext_printf "Loading initial ramdisk ..." | grub_quote)"
|
|
sed "s/^/$submenu_indentation/" << EOF
|
|
echo '$message'
|
|
initrd ${rel_dirname}/${initrd}
|
|
Index: grub-2.00/util/grub.d/20_linux_xen.in
|
|
===================================================================
|
|
--- grub-2.00.orig/util/grub.d/20_linux_xen.in
|
|
+++ grub-2.00/util/grub.d/20_linux_xen.in
|
|
@@ -117,8 +117,8 @@ linux_entry ()
|
|
prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
|
|
fi
|
|
printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
|
|
- xmessage="$(gettext_printf "Loading Xen %s ..." ${xen_version})"
|
|
- lmessage="$(gettext_printf "Loading Linux %s ..." ${version})"
|
|
+ xmessage="$(gettext_printf "Loading Xen %s ..." ${xen_version} | grub_quote)"
|
|
+ lmessage="$(gettext_printf "Loading Linux %s ..." ${version} | grub_quote)"
|
|
sed "s/^/$submenu_indentation/" << EOF
|
|
echo '$xmessage'
|
|
multiboot ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args}
|
|
@@ -127,7 +127,7 @@ linux_entry ()
|
|
EOF
|
|
if test -n "${initrd}" ; then
|
|
# TRANSLATORS: ramdisk isn't identifier. Should be translated.
|
|
- message="$(gettext_printf "Loading initial ramdisk ...")"
|
|
+ message="$(gettext_printf "Loading initial ramdisk ..." | grub_quote)"
|
|
sed "s/^/$submenu_indentation/" << EOF
|
|
echo '$message'
|
|
module ${rel_dirname}/${initrd}
|
|
Index: grub-2.00/util/grub-mkconfig_lib.in
|
|
===================================================================
|
|
--- grub-2.00.orig/util/grub-mkconfig_lib.in
|
|
+++ grub-2.00/util/grub-mkconfig_lib.in
|
|
@@ -265,7 +265,7 @@ version_find_latest ()
|
|
# this function in a printf format string.
|
|
|
|
grub_quote () {
|
|
- sed "s/'/'\\\\\\\\''/g"
|
|
+ sed "s/'/'\\\\''/g"
|
|
}
|
|
|
|
gettext_quoted () {
|