It seems I failed in the below fix. /usr/bin/grep on Solaris does not support -qE. Here is another patch, converting the regexp to work without the -E switch and piping to /dev/null to keep it quiet:

Bug: https://bugs.openjdk.java.net/browse/JDK-8036145

diff --git a/common/autoconf/configure b/common/autoconf/configure
--- a/common/autoconf/configure
+++ b/common/autoconf/configure
@@ -127,11 +127,11 @@
   if [[ -n "$1" ]]; then
     # Uses only shell-safe characters?  No quoting needed.
     # '=' is a zsh meta-character, but only in word-initial position.
- if echo "$1" | grep -qE '^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.:,%/+=_-]+$' \
-        && ! echo "$1" | grep -qE '^='; then
+ if echo "$1" | grep '^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\.:,%/+=_-]\{1,\}$' > /dev/null \
+        && ! echo "$1" | grep '^=' > /dev/null; then
       quoted="$1"
     else
-      if echo "$1" | grep -qE "[\'!]"; then
+      if echo "$1" | grep "[\'!]" > /dev/null; then
         # csh does history expansion within single quotes, but not
         # when backslash-escaped!
         local quoted_quote="'\\''" quoted_exclam="'\\!'"

/Erik

On 2014-02-27 15:04, Erik Joelsson wrote:
JDK-8034199 unfortunately didn't work with a bunch of internal Solaris installations. It seems common for Solaris 10 to not have an updated bash version and the =~ construct used in that patch requires bash 3.x or higher.

Here is a rewrite of that part using grep.

Bug: https://bugs.openjdk.java.net/browse/JDK-8035904

Patch inline:

diff -r 73d85b04c45c common/autoconf/configure
--- a/common/autoconf/configure
+++ b/common/autoconf/configure
@@ -127,10 +127,11 @@
   if [[ -n "$1" ]]; then
     # Uses only shell-safe characters?  No quoting needed.
     # '=' is a zsh meta-character, but only in word-initial position.
- if [[ "$1" =~ ^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.:,%/+=_-]+$ && ! "$1" =~ ^= ]]; then + if echo "$1" | grep -qE '^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.:,%/+=_-]+$' \
+        && ! echo "$1" | grep -qE '^='; then
       quoted="$1"
     else
-      if [[ "$1" =~ [\'!] ]]; then
+      if echo "$1" | grep -qE "[\'!]"; then
         # csh does history expansion within single quotes, but not
         # when backslash-escaped!
         local quoted_quote="'\\''" quoted_exclam="'\\!'"


/Erik

Reply via email to