summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2023-07-09 18:41:33 -0400
committerMike Gilbert <floppym@gentoo.org>2023-07-09 18:41:33 -0400
commitd69213cd70673f5fb9460ef89215fe04f8b31653 (patch)
tree58df77e9a16f758b75c4d5459f2bfa5dcf27ae2f /sys-boot
parentmedia-libs/libopenshot: Two test fixes (diff)
downloadgentoo-d69213cd70673f5fb9460ef89215fe04f8b31653.tar.gz
gentoo-d69213cd70673f5fb9460ef89215fe04f8b31653.tar.bz2
gentoo-d69213cd70673f5fb9460ef89215fe04f8b31653.zip
sys-boot/grub: backport locale fixes
Closes: https://bugs.gentoo.org/910170 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'sys-boot')
-rw-r--r--sys-boot/grub/files/grub-2.06-locale.patch68
-rw-r--r--sys-boot/grub/grub-2.06-r7.ebuild (renamed from sys-boot/grub/grub-2.06-r6.ebuild)1
2 files changed, 69 insertions, 0 deletions
diff --git a/sys-boot/grub/files/grub-2.06-locale.patch b/sys-boot/grub/files/grub-2.06-locale.patch
new file mode 100644
index 000000000000..14706cbca3a2
--- /dev/null
+++ b/sys-boot/grub/files/grub-2.06-locale.patch
@@ -0,0 +1,68 @@
+From 5983c2c6adf1c1bbb3ecd751253d1e898bdfd8a3 Mon Sep 17 00:00:00 2001
+From: Michael Chang <mchang@suse.com>
+Date: Tue, 26 Oct 2021 15:11:00 +0800
+Subject: templates: Filter out POSIX locale for translation
+
+The POSIX locale is default or native operating system's locale
+identical to the C locale, so no translation to human speaking languages
+are provided. For this reason we should filter out LANG=POSIX as well as
+LANG=C upon generating grub.cfg to avoid looking up for it's gettext's
+message catalogs that will consequently result in an unpleasant message:
+
+ error: file `/boot/grub/locale/POSIX.gmo' not found
+
+Signed-off-by: Michael Chang <mchang@suse.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ util/grub.d/00_header.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
+index 93a9023..f74c2a4 100644
+--- a/util/grub.d/00_header.in
++++ b/util/grub.d/00_header.in
+@@ -191,7 +191,7 @@ EOF
+ EOF
+
+ # Gettext variables and module
+-if [ "x${LANG}" != "xC" ] && [ "x${LANG}" != "x" ]; then
++if [ "x${LANG}" != "xC" ] && [ "x${LANG}" != "xPOSIX" ] && [ "x${LANG}" != "x" ]; then
+ cat << EOF
+ set locale_dir=\$prefix/locale
+ set lang=${grub_lang}
+--
+cgit v1.1
+
+From f42266a8a2a4215e4ffe419b8092bdf9ced33e8e Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail@eworm.de>
+Date: Mon, 19 Sep 2022 15:31:28 +0200
+Subject: templates: Filter C.UTF-8 locale for translation
+
+In addition to C locale there is also C.UTF-8 locale now. Filter that as
+well, by using ${grub_lang}, which contains a stripped value.
+This fixes the following message and resulting boot failure:
+
+ error: file `/boot/grub/locale/C.gmo' not found.
+
+Signed-off-by: Christian Hesse <mail@eworm.de>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ util/grub.d/00_header.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
+index f74c2a4..6a316a5 100644
+--- a/util/grub.d/00_header.in
++++ b/util/grub.d/00_header.in
+@@ -191,7 +191,7 @@ EOF
+ EOF
+
+ # Gettext variables and module
+-if [ "x${LANG}" != "xC" ] && [ "x${LANG}" != "xPOSIX" ] && [ "x${LANG}" != "x" ]; then
++if [ "x${grub_lang}" != "xC" ] && [ "x${LANG}" != "xPOSIX" ] && [ "x${LANG}" != "x" ]; then
+ cat << EOF
+ set locale_dir=\$prefix/locale
+ set lang=${grub_lang}
+--
+cgit v1.1
+
diff --git a/sys-boot/grub/grub-2.06-r6.ebuild b/sys-boot/grub/grub-2.06-r7.ebuild
index 707acec900be..15a8221a1c13 100644
--- a/sys-boot/grub/grub-2.06-r6.ebuild
+++ b/sys-boot/grub/grub-2.06-r7.ebuild
@@ -63,6 +63,7 @@ PATCHES=(
"${FILESDIR}"/grub-2.06-gentpl.py-Remove-.interp-section-from-.img-files.patch
"${FILESDIR}"/grub-2.06-fs-ext2-ignore-checksum-seed.patch
"${FILESDIR}"/grub-2.06-riscv.patch
+ "${FILESDIR}"/grub-2.06-locale.patch
)
DEJAVU=dejavu-sans-ttf-2.37