From aa27a85a83a4f05e77ed06825e24755f23f90eff Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 18 Aug 2020 13:14:48 +0200 Subject: build: Use Python tarfile instead of pax This patch is for the new build system. --- wscript | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to 'wscript') diff --git a/wscript b/wscript index 5463b1c788..2e42918ebb 100755 --- a/wscript +++ b/wscript @@ -405,22 +405,23 @@ class Item(object): bld(rule="${XZ} < ${SRC} > ${TGT}", source=source, target=target) return target - def pax(self, bld, source, remove, target): + def tar(self, bld, source, remove, target): def run(task): + import tarfile + + tar = tarfile.TarFile( + task.outputs[0].abspath(), "w", format=tarfile.USTAR_FORMAT + ) srcpath = bld.path.abspath() + "/" bldpath = bld.bldnode.abspath() + "/" - cmd = [bld.env.PAX[0], "-w", "-f", task.outputs[0].abspath()] - for r in remove: - cmd.extend( - [ - "-s", - "," + srcpath + r + ",,", - "-s", - "," + bldpath + r + ",,", - ] - ) - cmd.extend([i.abspath() for i in task.inputs]) - return task.exec_command(cmd) + for src in task.inputs: + src = src.abspath() + dst = src + for r in remove: + dst = src.replace(srcpath + r, "").replace(bldpath + r, "") + tar.add(src, dst) + tar.close() + return 0 bld(rule=run, source=source, target=target) return target -- cgit v1.2.3