summaryrefslogtreecommitdiff
path: root/buildstream/plugins/sources/remote.py
diff options
context:
space:
mode:
Diffstat (limited to 'buildstream/plugins/sources/remote.py')
-rw-r--r--buildstream/plugins/sources/remote.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/buildstream/plugins/sources/remote.py b/buildstream/plugins/sources/remote.py
index c296d3158..fbfff9056 100644
--- a/buildstream/plugins/sources/remote.py
+++ b/buildstream/plugins/sources/remote.py
@@ -61,7 +61,13 @@ class RemoteSource(DownloadableFileSource):
def configure(self, node):
super().configure(node)
- self.filename = self.node_get_member(node, str, 'filename', os.path.basename(self.url))
+ self.filename = self.node_get_member(node, str, 'filename', None)
+ if not self.filename:
+ # url in DownloadableFileSource is private, so we read it again
+ original_url = self.node_get_member(node, str, 'url')
+ url = self.translate_url(original_url)
+ self.filename = os.path.basename(url)
+
self.executable = self.node_get_member(node, bool, 'executable', False)
if os.sep in self.filename:
@@ -78,7 +84,7 @@ class RemoteSource(DownloadableFileSource):
dest = os.path.join(directory, self.filename)
with self.timed_activity("Staging remote file to {}".format(dest)):
- utils.safe_copy(self._get_mirror_file(), dest)
+ utils.safe_copy(self.get_mirror_file(), dest)
# To prevent user's umask introducing variability here, explicitly set
# file modes.