This is an automated email from the ASF dual-hosted git repository. tvb pushed a commit to branch tristan/virtual-directory-cleanup in repository https://gitbox.apache.org/repos/asf/buildstream.git
commit 6aaec5f3aa0623997e1c25914e64275f519d9338 Author: Tristan van Berkom <[email protected]> AuthorDate: Fri Mar 4 17:15:43 2022 +0900 storage/directory.py: Make set_deterministic_user() an internal function There is no reason for plugin authors to have access to this API. --- src/buildstream/element.py | 2 +- src/buildstream/storage/_casbaseddirectory.py | 12 ++++++++---- src/buildstream/storage/_filebaseddirectory.py | 5 ++--- src/buildstream/storage/directory.py | 12 +++++++----- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/buildstream/element.py b/src/buildstream/element.py index b769479..0fb370a 100644 --- a/src/buildstream/element.py +++ b/src/buildstream/element.py @@ -1512,7 +1512,7 @@ class Element(Plugin): vdirectory.import_files(import_dir, update_mtime=BST_ARBITRARY_TIMESTAMP) # Ensure deterministic owners of sources at build time - vdirectory.set_deterministic_user() + vdirectory._set_deterministic_user() # _set_required(): # diff --git a/src/buildstream/storage/_casbaseddirectory.py b/src/buildstream/storage/_casbaseddirectory.py index dce706a..d99ea5d 100644 --- a/src/buildstream/storage/_casbaseddirectory.py +++ b/src/buildstream/storage/_casbaseddirectory.py @@ -535,10 +535,14 @@ class CasBasedDirectory(Directory): result.files_written.append(external_pathspec) return result - def set_deterministic_user(self): - """ Sets all files in this directory to the current user's euid/egid. - We also don't store user data, so this can be ignored. - """ + # _set_deterministic_user(): + # + # Sets all files in this directory to the current user's euid/egid. + # + # We don't store user data in CAS presently, so this can be ignored. + # + def _set_deterministic_user(self): + pass def export_files(self, to_directory, *, can_link=False, can_destroy=False): """Copies everything from this into to_directory, which must be the name diff --git a/src/buildstream/storage/_filebaseddirectory.py b/src/buildstream/storage/_filebaseddirectory.py index ab925a5..ecf8f04 100644 --- a/src/buildstream/storage/_filebaseddirectory.py +++ b/src/buildstream/storage/_filebaseddirectory.py @@ -33,7 +33,6 @@ import stat from .directory import Directory, DirectoryError, _FileType from .. import utils from ..utils import link_files, copy_files, list_relative_paths, BST_ARBITRARY_TIMESTAMP -from ..utils import _set_deterministic_user from ..utils import FileListResult # FileBasedDirectory intentionally doesn't call its superclass constuctor, @@ -151,8 +150,8 @@ class FileBasedDirectory(Directory): shutil.copyfile(external_pathspec, dstpath, follow_symlinks=False) return result - def set_deterministic_user(self): - _set_deterministic_user(self.external_directory) + def _set_deterministic_user(self): + utils._set_deterministic_user(self.external_directory) def export_files(self, to_directory, *, can_link=False, can_destroy=False): if can_destroy: diff --git a/src/buildstream/storage/directory.py b/src/buildstream/storage/directory.py index 73bde46..f49bcb8 100644 --- a/src/buildstream/storage/directory.py +++ b/src/buildstream/storage/directory.py @@ -152,11 +152,6 @@ class Directory: """ raise NotImplementedError() - def set_deterministic_user(self): - """ Sets all files in this directory to the current user's euid/egid. - """ - raise NotImplementedError() - def list_relative_paths(self): """Provide a list of all relative paths in this directory. Includes directories only if they are empty. @@ -291,6 +286,13 @@ class Directory: """ raise NotImplementedError() + # _set_deterministic_user(): + # + # Sets all files in this directory to the current user's euid/egid. + # + def _set_deterministic_user(self): + raise NotImplementedError() + def _create_empty_file(self, *paths): with self.open_file(*paths, mode="w"): pass
