From e6b4530234dc9c32fc69a0dae21cf8c28ce33804 Mon Sep 17 00:00:00 2001
From: Todd Gamblin <tgamblin@llnl.gov>
Date: Thu, 22 Jan 2015 13:52:28 -0800
Subject: [PATCH] Add is_exe function to filesystem.

---
 lib/spack/llnl/util/filesystem.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/lib/spack/llnl/util/filesystem.py b/lib/spack/llnl/util/filesystem.py
index 9f08832598..0578415653 100644
--- a/lib/spack/llnl/util/filesystem.py
+++ b/lib/spack/llnl/util/filesystem.py
@@ -24,7 +24,7 @@
 ##############################################################################
 __all__ = ['set_install_permissions', 'install', 'expand_user', 'working_dir',
            'touch', 'mkdirp', 'force_remove', 'join_path', 'ancestor',
-           'can_access', 'filter_file', 'change_sed_delimiter']
+           'can_access', 'filter_file', 'change_sed_delimiter', 'is_exe']
 
 import os
 import sys
@@ -154,6 +154,11 @@ def install(src, dest):
     os.chmod(dest, dest_mode)
 
 
+def is_exe(path):
+    """True if path is an executable file."""
+    return os.path.isfile(path) and os.access(path, os.X_OK)
+
+
 def expand_user(path):
     """Find instances of '%u' in a path and replace with the current user's
        username."""
-- 
GitLab