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