summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarius Makovsky <traveltissues@protonmail.com>2019-12-24 14:02:28 +0000
committerJürg Billeter <j@bitron.ch>2020-02-04 10:51:44 +0100
commitcd818e51df8eeec4110ea2be52f305eaa995e0c0 (patch)
treec758bae3238990092c2f729663b90a2a6d4de737
parentcdcb020a076119a68f2bc884fb158b77d75fea0f (diff)
downloadbuildstream-cd818e51df8eeec4110ea2be52f305eaa995e0c0.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 0513c0b6c..255794e6a 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
@@ -91,7 +92,7 @@ from ._variables import Variables
from ._versions import BST_CORE_ARTIFACT_VERSION
from ._exceptions import BstError, LoadError, ImplError, SourceCacheError
from .exceptions import ErrorDomain, LoadErrorReason
-from .utils import FileListResult
+from .utils import FileListResult, BST_ARBITRARY_TIMESTAMP
from . import utils
from . import _cachekey
from . import _site
@@ -707,7 +708,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)
@@ -1419,7 +1420,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.
@@ -1458,8 +1458,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))
@@ -1469,12 +1467,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()