All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Kurtz <kurtz.alex@googlemail.com>
To: The development of GNU GRUB <grub-devel@gnu.org>
Subject: Re: [PATCH] add proper variable quoting to grub-mkconfig_lib (Debian bug #612417)
Date: Sat, 09 Apr 2011 16:32:11 +0200	[thread overview]
Message-ID: <1302359531.3199.3.camel@localhost> (raw)
In-Reply-To: <4D9F1141.7090504@gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 318 bytes --]

Am Freitag, den 08.04.2011, 15:44 +0200 schrieb Vladimir 'φ-coder/phcoder' Serbinenko:
> The (big) patch is mostly fine except:
> -Please don't add brances where not needed
> -Please don't add quoting to constants like x since x or "x" are
> strictly identical.

Better now?

Best regards

Alexander Kurtz

[-- Attachment #1.2: quote-big-adjusted.patch --]
[-- Type: text/x-patch, Size: 6205 bytes --]

diff -Naur bazaar/util/grub-mkconfig_lib.in big-adjusted/util/grub-mkconfig_lib.in
--- bazaar/util/grub-mkconfig_lib.in	2011-04-08 18:17:27.789166000 +0200
+++ big-adjusted/util/grub-mkconfig_lib.in	2011-04-09 15:23:57.974913718 +0200
@@ -16,19 +16,19 @@
 
 transform="@program_transform_name@"
 
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-datarootdir=@datarootdir@
-datadir=@datadir@
-bindir=@bindir@
-sbindir=@sbindir@
-pkgdatadir=${datadir}/`echo @PACKAGE_TARNAME@ | sed "${transform}"`
+prefix="@prefix@"
+exec_prefix="@exec_prefix@"
+datarootdir="@datarootdir@"
+datadir="@datadir@"
+bindir="@bindir@"
+sbindir="@sbindir@"
+pkgdatadir="${datadir}/`echo "@PACKAGE_TARNAME@" | sed "${transform}"`"
 
 if test "x$grub_probe" = x; then
-  grub_probe=${sbindir}/`echo grub-probe | sed ${transform}`
+  grub_probe="${sbindir}/`echo grub-probe | sed "${transform}"`"
 fi
 if test "x$grub_mkrelpath" = x; then
-  grub_mkrelpath=${bindir}/`echo grub-mkrelpath | sed ${transform}`
+  grub_mkrelpath="${bindir}/`echo grub-mkrelpath | sed "${transform}"`"
 fi
 
 if $(which gettext >/dev/null 2>/dev/null) ; then
@@ -44,20 +44,20 @@
 
 make_system_path_relative_to_its_root ()
 {
-  ${grub_mkrelpath} $1
+  "${grub_mkrelpath}" "$1"
 }
 
 is_path_readable_by_grub ()
 {
-  path=$1
+  path="$1"
 
   # abort if path doesn't exist
-  if test -e $path ; then : ;else
+  if test -e "$path" ; then : ;else
     return 1
   fi
 
   # abort if file is in a filesystem we can't read
-  if ${grub_probe} -t fs $path > /dev/null 2>&1 ; then : ; else
+  if "${grub_probe}" -t fs "$path" > /dev/null 2>&1 ; then : ; else
     return 1
   fi
 
@@ -72,24 +72,24 @@
 
 convert_system_path_to_grub_path ()
 {
-  path=$1
+  path="$1"
 
   grub_warn "convert_system_path_to_grub_path() is deprecated.  Use prepare_grub_to_access_device() instead."
 
   # abort if GRUB can't access the path
-  if is_path_readable_by_grub ${path} ; then : ; else
+  if is_path_readable_by_grub "${path}" ; then : ; else
     return 1
   fi
 
-  if drive=`${grub_probe} -t drive $path` ; then : ; else
+  if drive="`"${grub_probe}" -t drive "$path"`" ; then : ; else
     return 1
   fi
 
-  if relative_path=`make_system_path_relative_to_its_root $path` ; then : ; else
+  if relative_path="`make_system_path_relative_to_its_root "$path"`" ; then : ; else
     return 1
   fi
 
-  echo ${drive}${relative_path}
+  echo "${drive}${relative_path}"
 }
 
 save_default_entry ()
@@ -103,15 +103,15 @@
 
 prepare_grub_to_access_device ()
 {
-  device=$1
+  device="$1"
 
   # Abstraction modules aren't auto-loaded.
-  abstraction="`${grub_probe} --device ${device} --target=abstraction`"
+  abstraction="`"${grub_probe}" --device "${device}" --target=abstraction`"
   for module in ${abstraction} ; do
     echo "insmod ${module}"
   done
 
-  partmap="`${grub_probe} --device ${device} --target=partmap`"
+  partmap="`"${grub_probe}" --device "${device}" --target=partmap`"
   for module in ${partmap} ; do
     case "${module}" in
       netbsd | openbsd)
@@ -121,15 +121,15 @@
     esac
   done
 
-  fs="`${grub_probe} --device ${device} --target=fs`"
+  fs="`"${grub_probe}" --device "${device}" --target=fs`"
   for module in ${fs} ; do
     echo "insmod ${module}"
   done
 
   # If there's a filesystem UUID that GRUB is capable of identifying, use it;
   # otherwise set root as per value in device.map.
-  echo "set root='`${grub_probe} --device ${device} --target=drive`'"
-  if fs_uuid="`${grub_probe} --device ${device} --target=fs_uuid 2> /dev/null`" ; then
+  echo "set root='`"${grub_probe}" --device "${device}" --target=drive`'"
+  if fs_uuid="`"${grub_probe}" --device "${device}" --target=fs_uuid 2> /dev/null`" ; then
     echo "search --no-floppy --fs-uuid --set=root ${fs_uuid}"
   fi
 }
@@ -149,21 +149,21 @@
 
 version_test_numeric ()
 {
-  local a=$1
-  local cmp=$2
-  local b=$3
+  local a="$1"
+  local cmp="$2"
+  local b="$3"
   if [ "$a" = "$b" ] ; then
-    case $cmp in
+    case "$cmp" in
       ge|eq|le) return 0 ;;
       gt|lt) return 1 ;;
     esac
   fi
   if [ "$cmp" = "lt" ] ; then
-    c=$a
-    a=$b
-    b=$c
+    c="$a"
+    a="$b"
+    b="$c"
   fi
-  if (echo $a ; echo $b) | sort -n | head -n 1 | grep -qx $b ; then
+  if (echo "$a" ; echo "$b") | sort -n | head -n 1 | grep -qx "$b" ; then
     return 0
   else
     return 1
@@ -172,25 +172,25 @@
 
 version_test_gt ()
 {
-  local a=`echo $1 | sed -e "s/[^-]*-//"`
-  local b=`echo $2 | sed -e "s/[^-]*-//"`
+  local a="`echo "$1" | sed -e "s/[^-]*-//"`"
+  local b="`echo "$2" | sed -e "s/[^-]*-//"`"
   local cmp=gt
   if [ "x$b" = "x" ] ; then
     return 0
   fi
-  case $a:$b in
+  case "$a:$b" in
     *.old:*.old) ;;
-    *.old:*) a=`echo -n $a | sed -e s/\.old$//` ; cmp=gt ;;
-    *:*.old) b=`echo -n $b | sed -e s/\.old$//` ; cmp=ge ;;
+    *.old:*) a="`echo -n "$a" | sed -e 's/\.old$//'`" ; cmp=gt ;;
+    *:*.old) b="`echo -n "$b" | sed -e 's/\.old$//'`" ; cmp=ge ;;
   esac
-  version_test_numeric $a $cmp $b
-  return $?
+  version_test_numeric "$a" "$cmp" "$b"
+  return "$?"
 }
 
 version_find_latest ()
 {
   local a=""
-  for i in $@ ; do
+  for i in "$@" ; do
     if version_test_gt "$i" "$a" ; then
       a="$i"
     fi
@@ -202,7 +202,7 @@
 # printf; so this turns ' into \'.  Note that you must use the output of
 # this function in a printf format string.
 gettext_quoted () {
-  $gettext "$@" | sed "s/'/'\\\\\\\\''/g"
+  "$gettext" "$@" | sed "s/'/'\\\\\\\\''/g"
 }
 
 # Run the first argument through gettext_quoted, and then pass that and all
@@ -211,13 +211,13 @@
 gettext_printf () {
   local format="$1"
   shift
-  printf "$(gettext_quoted "$format")" "$@"
+  printf "`gettext_quoted "$format"`" "$@"
 }
 
 uses_abstraction () {
-  device=$1
+  device="$1"
 
-  abstraction="`${grub_probe} --device ${device} --target=abstraction`"
+  abstraction="`"${grub_probe}" --device "${device}" --target=abstraction`"
   for module in ${abstraction}; do
     if test "x${module}" = "x$2"; then
       return 0

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

  reply	other threads:[~2011-04-09 14:32 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-05 12:55 [PATCH] add proper variable quoting to grub-mkconfig_lib (Debian bug #612417) Alexander Kurtz
2011-04-05 19:16 ` Nicolas de Pesloüan
2011-04-05 19:30   ` Colin Watson
2011-04-05 19:32   ` Alexander Kurtz
2011-04-05 19:47     ` Colin Watson
2011-04-05 20:07     ` Nicolas de Pesloüan
2011-04-05 20:53       ` Colin Watson
2011-04-05 21:27         ` Nicolas de Pesloüan
2011-04-06 15:31           ` Alexander Kurtz
2011-04-06 18:14             ` Nicolas de Pesloüan
2011-04-06 19:31               ` Colin Watson
2011-04-06 19:42                 ` Nicolas de Pesloüan
2011-04-08 13:44             ` Vladimir 'φ-coder/phcoder' Serbinenko
2011-04-09 14:32               ` Alexander Kurtz [this message]
2011-04-10 13:33                 ` Vladimir 'φ-coder/phcoder' Serbinenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1302359531.3199.3.camel@localhost \
    --to=kurtz.alex@googlemail.com \
    --cc=grub-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.