SHA256
1
0
forked from pool/grub2

Accepting request 141984 from devel:openSUSE:Factory

- 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
This commit is contained in:
Stephan Kulow 2012-11-20 12:07:42 +00:00 committed by Git OBS Bridge
parent 65cb2d080c
commit a8cae65aac
4 changed files with 115 additions and 1 deletions

View File

@ -44,7 +44,7 @@ if grub_file_is_not_garbage "$memtest" ; then
printf "menuentry '%s' %s \$menuentry_id_option '%s' {\n" "${OS}" "${CLASS}" "memtest-$boot_device_id"
prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
printf '%s\n' "${prepare_boot_cache}"
message="$(gettext_printf "Loading memtest ...\n")"
message="$(gettext_printf "Loading memtest ...\n" | grub_quote)"
cat << EOF
echo '$message'
linux16 ${rel_dirname}/${basename}

View File

@ -0,0 +1,107 @@
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 () {

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Mon Nov 19 16:40:25 UTC 2012 - arvidjaar@gmail.com
- quote localized "Loading ..." messages in grub.cfg (bnc#790195)
-------------------------------------------------------------------
Mon Nov 5 08:17:26 UTC 2012 - aj@suse.de

View File

@ -105,6 +105,7 @@ Patch16: grub2-fix-Grub2-with-SUSE-Xen-package-install.patch
Patch17: grub2-pass-corret-root-for-nfsroot.patch
Patch18: grub2-fix-locale-en.mo.gz-not-found-error-message.patch
Patch19: grub2-fix-build-error-on-flex-2.5.37.patch
Patch20: grub2-quote-messages-in-grub.cfg.patch
PreReq: perl-Bootloader
Requires: gettext-runtime
%if 0%{?suse_version} >= 1140
@ -180,6 +181,7 @@ mv docs/grub.texi docs/grub2.texi
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
cd ..
# README.openSUSE