From 0f66498fd8ee8644be6df963b86a1523f6069ddd Mon Sep 17 00:00:00 2001 From: Paul Ganssle Date: Tue, 12 Jan 2021 13:17:52 -0500 Subject: [PATCH] bpo-42874: Remove grep -qE options for Solaris 10 compatibility (GH-24200) According to [bpo-42874](), some versions of grep do not support the `-q` and `-E` options. Although both options are used elsewhere in the configure script, this particular bit of validation can be achieved without them, so there's no real harm in using a grep call with no flags. Would be good to get some people taking advantage of the `--with-tzpath` arguments in the wild to try this out.. Local testing seems to indicate that this does the same thing, but I don't know that we have any buildbots using this option. Maybe @pablogsal? [bpo-42874](): --- .../NEWS.d/next/Build/2021-01-12-10-06-50.bpo-42874.XKK61g.rst | 3 +++ configure | 2 +- configure.ac | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Build/2021-01-12-10-06-50.bpo-42874.XKK61g.rst diff --git a/Misc/NEWS.d/next/Build/2021-01-12-10-06-50.bpo-42874.XKK61g.rst b/Misc/NEWS.d/next/Build/2021-01-12-10-06-50.bpo-42874.XKK61g.rst new file mode 100644 index 00000000000..c3ef7b34bc7 --- /dev/null +++ b/Misc/NEWS.d/next/Build/2021-01-12-10-06-50.bpo-42874.XKK61g.rst @@ -0,0 +1,3 @@ +Removed the grep -q and -E flags in the tzpath validation section of the +configure script to better accomodate users of some platforms (specifically +Solaris 10). diff --git a/configure b/configure index 5691c27cf66..1d81c00c635 100755 --- a/configure +++ b/configure @@ -10252,7 +10252,7 @@ validate_tzpath() { fi # Bad paths are those that don't start with / - if ( echo $1 | grep -qE '(^|:)([^/]|$)' ); then + if ( echo $1 | grep '\(^\|:\)\([^/]\|$\)' > /dev/null); then as_fn_error $? "--with-tzpath must contain only absolute paths, not $1" "$LINENO" 5 return 1; fi diff --git a/configure.ac b/configure.ac index 990d6bfdd81..08c462ac9f6 100644 --- a/configure.ac +++ b/configure.ac @@ -2980,7 +2980,7 @@ validate_tzpath() { # Bad paths are those that don't start with / dnl quadrigraphs "@<:@" and "@:>@" produce "[" and "]" in the output - if ( echo $1 | grep -qE '(^|:)(@<:@^/@:>@|$)' ); then + if ( echo $1 | grep '\(^\|:\)\(@<:@^/@:>@\|$\)' > /dev/null); then AC_MSG_ERROR([--with-tzpath must contain only absolute paths, not $1]) return 1; fi