diff options
-rw-r--r-- | buildstream/utils.py | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/buildstream/utils.py b/buildstream/utils.py index a5c6010bc..844153706 100644 --- a/buildstream/utils.py +++ b/buildstream/utils.py @@ -379,11 +379,9 @@ def copy_files(src, dest, *, filter_callback=None, ignore_missing=False, report_ UNIX domain socket files from `src` are ignored. """ - files = list_relative_paths(src) - result = FileListResult() try: - _process_list(src, dest, files, safe_copy, result, + _process_list(src, dest, safe_copy, result, filter_callback=filter_callback, ignore_missing=ignore_missing, report_written=report_written) @@ -425,11 +423,9 @@ def link_files(src, dest, *, filter_callback=None, ignore_missing=False, report_ UNIX domain socket files from `src` are ignored. """ - files = list_relative_paths(src) - result = FileListResult() try: - _process_list(src, dest, files, safe_link, result, + _process_list(src, dest, safe_link, result, filter_callback=filter_callback, ignore_missing=ignore_missing, report_written=report_written) @@ -811,14 +807,13 @@ def _ensure_real_directory(root, path): # Args: # srcdir: The source base directory # destdir: The destination base directory -# filelist: List of relative file paths # actionfunc: The function to call for regular files # result: The FileListResult # filter_callback: Optional callback to invoke for every directory entry # ignore_missing: Dont raise any error if a source file is missing # # -def _process_list(srcdir, destdir, filelist, actionfunc, result, +def _process_list(srcdir, destdir, actionfunc, result, filter_callback=None, ignore_missing=False, report_written=False): @@ -826,6 +821,8 @@ def _process_list(srcdir, destdir, filelist, actionfunc, result, # *after* files have been written. permissions = [] + filelist = list_relative_paths(srcdir) + if filter_callback: filelist = [path for path in filelist if filter_callback(path)] |