diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-03-15 23:48:34 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-03-16 17:52:21 +0000 |
commit | 906fd2800bf1442784802c5702d525be07da55e0 (patch) | |
tree | 0f7fe4f5b4fc3a9fdac0837a0f44812a7b1edfee | |
parent | e1f2f51698b6d104e845ce3961c4871f1cd3fb60 (diff) | |
download | poky-906fd2800bf1442784802c5702d525be07da55e0.tar.gz |
meson: Work around determinism issue
The meson determinism issue is the same frozenset issue we encountered with
python itself. Remove the problematic pyc file until upstream work out the
best way to address the issue (as with core python).
(From OE-Core rev: ad00107dc02b3211f5d1a7fe889f538ee2bc064d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/lib/oeqa/selftest/cases/reproducible.py | 1 | ||||
-rw-r--r-- | meta/recipes-devtools/meson/meson.inc | 14 |
2 files changed, 14 insertions, 1 deletions
diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py index d301c8dd88..1945a12c31 100644 --- a/meta/lib/oeqa/selftest/cases/reproducible.py +++ b/meta/lib/oeqa/selftest/cases/reproducible.py | |||
@@ -33,7 +33,6 @@ exclude_packages = [ | |||
33 | 'go-runtime', | 33 | 'go-runtime', |
34 | 'go_', | 34 | 'go_', |
35 | 'go-', | 35 | 'go-', |
36 | 'meson', | ||
37 | 'ovmf-shell-efi', | 36 | 'ovmf-shell-efi', |
38 | 'ruby-ri-docs' | 37 | 'ruby-ri-docs' |
39 | ] | 38 | ] |
diff --git a/meta/recipes-devtools/meson/meson.inc b/meta/recipes-devtools/meson/meson.inc index 8454d18c28..fc3ca85fae 100644 --- a/meta/recipes-devtools/meson/meson.inc +++ b/meta/recipes-devtools/meson/meson.inc | |||
@@ -23,6 +23,10 @@ SRC_URI_append_class-native = " \ | |||
23 | file://0002-Support-building-allarch-recipes-again.patch \ | 23 | file://0002-Support-building-allarch-recipes-again.patch \ |
24 | " | 24 | " |
25 | 25 | ||
26 | # remove at next version upgrade or when output changes | ||
27 | PR = "r1" | ||
28 | HASHEQUIV_HASH_VERSION .= ".1" | ||
29 | |||
26 | UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases" | 30 | UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases" |
27 | UPSTREAM_CHECK_REGEX = "meson-(?P<pver>\d+(\.\d+)+)\.tar" | 31 | UPSTREAM_CHECK_REGEX = "meson-(?P<pver>\d+(\.\d+)+)\.tar" |
28 | 32 | ||
@@ -31,3 +35,13 @@ inherit setuptools3 | |||
31 | RDEPENDS_${PN} = "ninja python3-modules python3-pkg-resources" | 35 | RDEPENDS_${PN} = "ninja python3-modules python3-pkg-resources" |
32 | 36 | ||
33 | FILES_${PN} += "${datadir}/polkit-1" | 37 | FILES_${PN} += "${datadir}/polkit-1" |
38 | |||
39 | do_install_append () { | ||
40 | # As per the same issue in the python recipe itself: | ||
41 | # Unfortunately the following pyc files are non-deterministc due to 'frozenset' | ||
42 | # being written without strict ordering, even with PYTHONHASHSEED = 0 | ||
43 | # Upstream is discussing ways to solve the issue properly, until then let's | ||
44 | # just not install the problematic files. | ||
45 | # More info: http://benno.id.au/blog/2013/01/15/python-determinism | ||
46 | rm ${D}${libdir}/python*/site-packages/mesonbuild/dependencies/__pycache__/mpi.cpython* | ||
47 | } | ||