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:39:25 +0200
commitdaa5f5125b7ab5163ffc5c56309f1ebdc6b81807 (patch)
tree5e19464c70ac81cab290fd5364850931c227c63b
parent9ae676c645a289614ccd82dc2e438d5d2c94e7a4 (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 a8fca88dcb..4baf701c27 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):
@@ -479,7 +488,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