diff options
Diffstat (limited to 'meta/recipes-graphics/piglit/piglit/0001-serializer.py-make-.gz-files-reproducible.patch')
-rw-r--r-- | meta/recipes-graphics/piglit/piglit/0001-serializer.py-make-.gz-files-reproducible.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/meta/recipes-graphics/piglit/piglit/0001-serializer.py-make-.gz-files-reproducible.patch b/meta/recipes-graphics/piglit/piglit/0001-serializer.py-make-.gz-files-reproducible.patch new file mode 100644 index 0000000000..2efba6f866 --- /dev/null +++ b/meta/recipes-graphics/piglit/piglit/0001-serializer.py-make-.gz-files-reproducible.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | From 1919bb7f4072d73dcbb64d0e06eff5b04529c3db Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Mon, 16 Nov 2020 18:01:02 +0000 | ||
4 | Subject: [PATCH] serializer.py: make .gz files reproducible | ||
5 | |||
6 | .gz format contains mtime of the compressed data, and | ||
7 | SOURCE_DATE_EPOCH is the standard way to make it reproducuble. | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
11 | --- | ||
12 | tests/serializer.py | 5 ++++- | ||
13 | 1 file changed, 4 insertions(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/tests/serializer.py b/tests/serializer.py | ||
16 | index bd14bc3db..bc5b45d7f 100644 | ||
17 | --- a/tests/serializer.py | ||
18 | +++ b/tests/serializer.py | ||
19 | @@ -138,7 +138,10 @@ def serializer(name, profile, outfile): | ||
20 | et.SubElement(env, 'env', name=k, value=v) | ||
21 | |||
22 | tree = et.ElementTree(root) | ||
23 | - with gzip.open(outfile, 'wb') as f: | ||
24 | + reproducible_mtime = None | ||
25 | + if 'SOURCE_DATE_EPOCH' in os.environ: | ||
26 | + reproducible_mtime=os.environ['SOURCE_DATE_EPOCH'] | ||
27 | + with gzip.GzipFile(outfile, 'wb', mtime=reproducible_mtime) as f: | ||
28 | tree.write(f, encoding='utf-8', xml_declaration=True) | ||
29 | |||
30 | |||