build/python/build/project.py: lazy tarball extraction

This commit is contained in:
Max Kellermann 2021-05-03 20:42:50 +02:00
parent a0f6932ebe
commit 52e4a4c904
2 changed files with 5 additions and 3 deletions

View File

@ -55,8 +55,8 @@ class Project:
parent_path = toolchain.src_path parent_path = toolchain.src_path
else: else:
parent_path = toolchain.build_path parent_path = toolchain.build_path
path = untar(self.download(toolchain), parent_path, self.base) path = untar(self.download(toolchain), parent_path, self.base,
lazy=out_of_tree and self.patches is None)
if self.patches is not None: if self.patches is not None:
push_all(toolchain, path, self.patches) push_all(toolchain, path, self.patches)

View File

@ -1,7 +1,9 @@
import os, shutil, subprocess import os, shutil, subprocess
def untar(tarball_path, parent_path, base): def untar(tarball_path, parent_path, base, lazy=False):
path = os.path.join(parent_path, base) path = os.path.join(parent_path, base)
if lazy and os.path.isdir(path):
return path
try: try:
shutil.rmtree(path) shutil.rmtree(path)
except FileNotFoundError: except FileNotFoundError: