You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by gi...@apache.org on 2020/12/29 13:05:28 UTC
[buildstream] 11/26: element: pass arbitrary timestamp to
import_files
This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch traveltissues/mr4
in repository https://gitbox.apache.org/repos/asf/buildstream.git
commit af17fe9523a86c59789f17dad4f1cdb98080a70a
Author: Darius Makovsky <tr...@protonmail.com>
AuthorDate: Tue Dec 24 14:02:28 2019 +0000
element: pass arbitrary timestamp to import_files
---
src/buildstream/element.py | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git a/src/buildstream/element.py b/src/buildstream/element.py
index f634537..20cc809 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()