diff options
author | Darius Makovsky <traveltissues@protonmail.com> | 2019-12-24 14:02:28 +0000 |
---|---|---|
committer | Jürg Billeter <j@bitron.ch> | 2020-02-04 10:51:44 +0100 |
commit | cd818e51df8eeec4110ea2be52f305eaa995e0c0 (patch) | |
tree | c758bae3238990092c2f729663b90a2a6d4de737 | |
parent | cdcb020a076119a68f2bc884fb158b77d75fea0f (diff) | |
download | buildstream-cd818e51df8eeec4110ea2be52f305eaa995e0c0.tar.gz |
element: pass arbitrary timestamp to import_files
-rw-r--r-- | src/buildstream/element.py | 15 |
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() |