tar.py: Make directories with incorrect permissions traversable
diff --git a/src/buildstream/plugins/sources/tar.py b/src/buildstream/plugins/sources/tar.py
index ac80177..a0682e0 100644
--- a/src/buildstream/plugins/sources/tar.py
+++ b/src/buildstream/plugins/sources/tar.py
@@ -75,8 +75,12 @@
     """
     @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):