78 lines
2.9 KiB
Diff
78 lines
2.9 KiB
Diff
|
From 7c8906e0f3827322469655bb013247f7ce60fcd9 Mon Sep 17 00:00:00 2001
|
||
|
From: Michael Chang <mchang@suse.com>
|
||
|
Date: Tue, 4 Dec 2012 15:24:43 +0800
|
||
|
Subject: [PATCH] Fix unquoted string in --class
|
||
|
|
||
|
References: bnc#788322
|
||
|
Patch-Mainline: no
|
||
|
|
||
|
If GRUB_DISTRIBUTOR contains special character such as '$', it would
|
||
|
lead to syntax error by the grub2-script-check even though user
|
||
|
correctly quote them in single quotes.
|
||
|
|
||
|
The cause is that grub2 scripts use not quote the strings from
|
||
|
GRUB_DISTRIBUTOR in --class options thus keywords interpreted by the
|
||
|
script parser. The fix is to add single quote to the string.
|
||
|
---
|
||
|
util/grub.d/10_hurd.in | 2 +-
|
||
|
util/grub.d/10_kfreebsd.in | 2 +-
|
||
|
util/grub.d/10_linux.in | 2 +-
|
||
|
util/grub.d/20_linux_xen.in | 2 +-
|
||
|
4 files changed, 4 insertions(+), 4 deletions(-)
|
||
|
|
||
|
diff --git a/util/grub.d/10_hurd.in b/util/grub.d/10_hurd.in
|
||
|
index 45f0ad3..5afc079 100644
|
||
|
--- a/util/grub.d/10_hurd.in
|
||
|
+++ b/util/grub.d/10_hurd.in
|
||
|
@@ -32,7 +32,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
|
||
|
OS=GNU
|
||
|
else
|
||
|
OS="${GRUB_DISTRIBUTOR} GNU/Hurd"
|
||
|
- CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}"
|
||
|
+ CLASS="--class '$(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1)' ${CLASS}"
|
||
|
fi
|
||
|
|
||
|
at_least_one=false
|
||
|
diff --git a/util/grub.d/10_kfreebsd.in b/util/grub.d/10_kfreebsd.in
|
||
|
index b0e84e2..4ec8d96 100644
|
||
|
--- a/util/grub.d/10_kfreebsd.in
|
||
|
+++ b/util/grub.d/10_kfreebsd.in
|
||
|
@@ -30,7 +30,7 @@ CLASS="--class os"
|
||
|
case "${GRUB_DISTRIBUTOR}" in
|
||
|
Debian)
|
||
|
OS="${GRUB_DISTRIBUTOR} GNU/kFreeBSD"
|
||
|
- CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) --class gnu-kfreebsd --class gnu ${CLASS}"
|
||
|
+ CLASS="--class '$(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1)' --class gnu-kfreebsd --class gnu ${CLASS}"
|
||
|
;;
|
||
|
*)
|
||
|
OS="FreeBSD"
|
||
|
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
|
||
|
index b2f65c0..40f8651 100644
|
||
|
--- a/util/grub.d/10_linux.in
|
||
|
+++ b/util/grub.d/10_linux.in
|
||
|
@@ -32,7 +32,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
|
||
|
OS=GNU/Linux
|
||
|
else
|
||
|
OS="${GRUB_DISTRIBUTOR}"
|
||
|
- CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}"
|
||
|
+ CLASS="--class '$(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1)' ${CLASS}"
|
||
|
fi
|
||
|
|
||
|
# loop-AES arranges things so that /dev/loop/X can be our root device, but
|
||
|
diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
|
||
|
index 29184c2..f1ce61e 100644
|
||
|
--- a/util/grub.d/20_linux_xen.in
|
||
|
+++ b/util/grub.d/20_linux_xen.in
|
||
|
@@ -32,7 +32,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
|
||
|
OS=GNU/Linux
|
||
|
else
|
||
|
OS="${GRUB_DISTRIBUTOR} GNU/Linux"
|
||
|
- CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}"
|
||
|
+ CLASS="--class '$(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1)' ${CLASS}"
|
||
|
fi
|
||
|
|
||
|
# loop-AES arranges things so that /dev/loop/X can be our root device, but
|
||
|
--
|
||
|
1.7.3.4
|
||
|
|