summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/buildstream/plugins/sources/tar.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/buildstream/plugins/sources/tar.py b/src/buildstream/plugins/sources/tar.py
index 658cc2735..a5b84613e 100644
--- a/src/buildstream/plugins/sources/tar.py
+++ b/src/buildstream/plugins/sources/tar.py
@@ -76,8 +76,12 @@ class ReadableTarInfo(tarfile.TarInfo):
@property
def mode(self):
- # ensure file is readable by owner
- return self.__permission | 0o400
+ # ensure file is readable by owner, and executable
+ # (=traversable) if it's a directory.
+ if self.isdir():
+ return self.__permission | 0o500
+ else:
+ return self.__permission | 0o400
@mode.setter
def mode(self, permission):