RFR: JDK-8035904: Solaris fastdebug builds are failing

Erik Joelsson erik.joelsson at oracle.com
Thu Feb 27 14:04:15 UTC 2014


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



More information about the build-dev mailing list