summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/spack/cmd/pkg.py4
-rw-r--r--lib/spack/spack/util/executable.py3
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/spack/spack/cmd/pkg.py b/lib/spack/spack/cmd/pkg.py
index e4e616db56..b21313cbc4 100644
--- a/lib/spack/spack/cmd/pkg.py
+++ b/lib/spack/spack/cmd/pkg.py
@@ -169,7 +169,9 @@ def pkg_hash(args):
def get_grep(required=False):
"""Get a grep command to use with ``spack pkg grep``."""
- return exe.which(os.environ.get("SPACK_GREP") or "grep", required=required)
+ grep = exe.which(os.environ.get("SPACK_GREP") or "grep", required=required)
+ grep.ignore_quotes = True # allow `spack pkg grep '"quoted string"'` without warning
+ return grep
def pkg_grep(args, unknown_args):
diff --git a/lib/spack/spack/util/executable.py b/lib/spack/spack/util/executable.py
index afb8bcaa39..b4974fc9b5 100644
--- a/lib/spack/spack/util/executable.py
+++ b/lib/spack/spack/util/executable.py
@@ -31,6 +31,7 @@ class Executable:
self.default_envmod = EnvironmentModifications()
self.returncode = None
+ self.ignore_quotes = False
if not self.exe:
raise ProcessError("Cannot construct executable for '%s'" % name)
@@ -188,7 +189,7 @@ class Executable:
fail_on_error = kwargs.pop("fail_on_error", True)
ignore_errors = kwargs.pop("ignore_errors", ())
- ignore_quotes = kwargs.pop("ignore_quotes", False)
+ ignore_quotes = kwargs.pop("ignore_quotes", self.ignore_quotes)
timeout = kwargs.pop("timeout", None)
# If they just want to ignore one error code, make it a tuple.