diff options
Diffstat (limited to 'patches/bzip2/bzip2-1.0.4-POSIX-shell.patch')
-rw-r--r-- | patches/bzip2/bzip2-1.0.4-POSIX-shell.patch | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/patches/bzip2/bzip2-1.0.4-POSIX-shell.patch b/patches/bzip2/bzip2-1.0.4-POSIX-shell.patch new file mode 100644 index 00000000..a5916eaf --- /dev/null +++ b/patches/bzip2/bzip2-1.0.4-POSIX-shell.patch @@ -0,0 +1,21 @@ +bzgrep uses !/bin/sh but then uses the bashism ${var//} so replace those +with calls to sed so POSIX shells work + +http://bugs.gentoo.org/193365 + +--- ./bzgrep ++++ ./bzgrep +@@ -63,10 +63,9 @@ + bzip2 -cdfq "$i" | $grep $opt "$pat" + r=$? + else +- j=${i//\\/\\\\} +- j=${j//|/\\|} +- j=${j//&/\\&} +- j=`printf "%s" "$j" | tr '\n' ' '` ++ # the backslashes here are doubled up as we have to escape each one for the ++ # shell and then escape each one for the sed expression ++ j=`printf "%s" "${i}" | sed -e 's:\\\\:\\\\\\\\:g' -e 's:[|]:\\\\|:g' -e 's:[&]:\\\\&:g' | tr '\n' ' '` + bzip2 -cdfq "$i" | $grep $opt "$pat" | sed "s|^|${j}:|" + r=$? + fi |