diff --git a/meta/lib/oe/cachedpath.py b/meta/lib/oe/cachedpath.py
index 68c85807d9f..462094192d2 100644
--- a/meta/lib/oe/cachedpath.py
+++ b/meta/lib/oe/cachedpath.py
@@ -121,6 +121,12 @@ class CachedPath(object):
     def lstat(self, path):
         return self.calllstat(path)
 
+    def is_executable(self, path):
+        """
+        Test if the file has any executable bits set.
+        """
+        return bool(self.stat(path).st_mode & (statmod.S_IXUSR | statmod.S_IXGRP | statmod.S_IXOTH))
+
     def walk(self, top, topdown=True, onerror=None, followlinks=False):
         # Matches os.walk, not os.path.walk()
 
