summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2023-08-10 12:18:09 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2023-08-10 13:06:07 +0200
commit1c274b734218d5a8355d451b95922f82c15dc07b (patch)
treed2e727b17703a945b2ebbcd2346a381586aea109
parent29e2202ab4c372bdf18fe5869837efe2888ff259 (diff)
build: Create deterministic tar archives
This helps to make the build reproducible.
-rwxr-xr-xwscript11
1 files changed, 10 insertions, 1 deletions
diff --git a/wscript b/wscript
index b543778fe8..53f2578b07 100755
--- a/wscript
+++ b/wscript
@@ -188,6 +188,15 @@ def process_start_files(self):
self.link_task.dep_nodes.extend(self.bld.start_files)
+def deterministic_tar_info(info):
+ info.uid = 0
+ info.gid = 0
+ info.mtime = 0
+ info.uname = "root"
+ info.gname = "root"
+ return info
+
+
class Item(object):
def __init__(self, uid, data):
@@ -485,7 +494,7 @@ class Item(object):
dst = src
for r in remove:
dst = src.replace(srcpath + r, "").replace(bldpath + r, "")
- tar.add(src, dst)
+ tar.add(src, dst, filter=deterministic_tar_info)
tar.close()
return 0