summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Maat <tristan.maat@codethink.co.uk>2019-11-12 11:04:25 +0000
committerTristan Maat <tristan.maat@codethink.co.uk>2019-11-12 11:19:01 +0000
commit0a8126cdc7e234d5dd82fb806cb0364188effb31 (patch)
tree86541af4aa6b611b9466208d3a7963f3a5301523
parentf5854eee0cf32462b25ea02b42c805453873f4a4 (diff)
downloadbuildstream-tlater/casd-socket-permissions.tar.gz
tar.py: Make directories with incorrect permissions traversabletlater/casd-socket-permissions
-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 ac80177aa..a0682e085 100644
--- a/src/buildstream/plugins/sources/tar.py
+++ b/src/buildstream/plugins/sources/tar.py
@@ -75,8 +75,12 @@ class ReadableTarInfo(tarfile.TarInfo):
"""
@property
def mode(self):
- # ensure file is readable by owner and group
- return self.__permission | 0o440
+ # ensure file is readable by owner and group, and executable
+ # (=traversable) if it's a directory.
+ if self.isdir():
+ return self.__permission | 0o550
+ else:
+ return self.__permission | 0o440
@mode.setter
def mode(self, permission):