summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarius Makovsky <traveltissues@protonmail.com>2019-12-24 14:02:28 +0000
committerDarius Makovsky <traveltissues@protonmail.com>2020-01-16 08:49:30 +0000
commitaf17fe9523a86c59789f17dad4f1cdb98080a70a (patch)
tree0667f084f11e1d04f95591461249260167f331eb
parent26aaf72d5efd9b9e74ae6d7220169552595e1a03 (diff)
downloadbuildstream-af17fe9523a86c59789f17dad4f1cdb98080a70a.tar.gz
element: pass arbitrary timestamp to import_files
-rw-r--r--src/buildstream/element.py15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/buildstream/element.py b/src/buildstream/element.py
index f63453734..20cc80994 100644
--- a/src/buildstream/element.py
+++ b/src/buildstream/element.py
@@ -75,6 +75,7 @@ Class Reference
import os
import re
import stat
+import time
import copy
from collections import OrderedDict
import contextlib
@@ -90,7 +91,7 @@ from . import _yaml
from ._variables import Variables
from ._versions import BST_CORE_ARTIFACT_VERSION
from ._exceptions import BstError, LoadError, LoadErrorReason, ImplError, ErrorDomain, SourceCacheError
-from .utils import FileListResult
+from .utils import FileListResult, BST_ARBITRARY_TIMESTAMP
from . import utils
from . import _cachekey
from . import _site
@@ -705,7 +706,7 @@ class Element(Plugin):
if update_mtimes:
copy_result = vstagedir.import_files(
- files_vdir, filter_callback=copy_filter, report_written=True, update_mtime=True
+ files_vdir, filter_callback=copy_filter, report_written=True, update_mtime=time.time()
)
result = result.combine(copy_result)
@@ -1417,7 +1418,6 @@ class Element(Plugin):
def _stage_sources_at(self, vdirectory, usebuildtree=False):
context = self._get_context()
- set_deterministic_mtimes = True
# It's advantageous to have this temporary directory on
# the same file system as the rest of our cache.
@@ -1456,8 +1456,6 @@ class Element(Plugin):
for source in self.__sources[last_required_previous_ix:]:
source_dir = sourcecache.export(source)
import_dir.import_files(source_dir)
- if source.BST_STAGE_VIRTUAL_DIRECTORY:
- set_deterministic_mtimes = False
except SourceCacheError as e:
raise ElementError("Error trying to export source for {}: {}".format(self.name, e))
@@ -1467,12 +1465,9 @@ class Element(Plugin):
reason="import-source-files-fail",
)
+ # Ensure deterministic mtime of sources at build time
with utils._deterministic_umask():
- vdirectory.import_files(import_dir)
-
- # Ensure deterministic mtime of sources at build time
- if set_deterministic_mtimes:
- vdirectory.set_deterministic_mtime()
+ vdirectory.import_files(import_dir, update_mtime=BST_ARBITRARY_TIMESTAMP)
# Ensure deterministic owners of sources at build time
vdirectory.set_deterministic_user()