From 82b2340edf7c5caef61f422167a04a4a3b51c31b Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 7 Feb 2020 12:29:56 +0000 Subject: libevdev: Fix determinism issue We need to sort python dict output to be deterministic and generate consistent header files. (From OE-Core rev: 75e4cedb986379db2e8a897df52ee1363f9a9a80) (From OE-Core rev: fc6e8e527698a82bf8047d02e0e792c4a1a64449) (From OE-Core rev: 7edd5e5fd392fe2bc5eb41e40ee49a2b0f118e41) Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster Signed-off-by: Richard Purdie --- .../libevdev/libevdev/determinism.patch | 34 ++++++++++++++++++++++ meta/recipes-support/libevdev/libevdev_1.8.0.bb | 3 +- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-support/libevdev/libevdev/determinism.patch diff --git a/meta/recipes-support/libevdev/libevdev/determinism.patch b/meta/recipes-support/libevdev/libevdev/determinism.patch new file mode 100644 index 0000000000..33a6076b78 --- /dev/null +++ b/meta/recipes-support/libevdev/libevdev/determinism.patch @@ -0,0 +1,34 @@ +The order of dict values is not deterministic leading to differing header file generation. +Sort to remove this inconsistency. + +RP 2020/2/7 + +Signed-off-by: Richard Purdie +Upstream-Status: Pending + +Index: a/libevdev/make-event-names.py +=================================================================== +--- a/libevdev/make-event-names.py ++++ b/libevdev/make-event-names.py +@@ -67,10 +67,10 @@ def print_bits(bits, prefix): + if not hasattr(bits, prefix): + return + print("static const char * const %s_map[%s_MAX + 1] = {" % (prefix, prefix.upper())) +- for val, name in list(getattr(bits, prefix).items()): ++ for val, name in sorted(list(getattr(bits, prefix).items())): + print(" [%s] = \"%s\"," % (name, name)) + if prefix == "key": +- for val, name in list(getattr(bits, "btn").items()): ++ for val, name in sorted(list(getattr(bits, "btn").items())): + print(" [%s] = \"%s\"," % (name, name)) + print("};") + print("") +@@ -111,7 +111,7 @@ def print_lookup(bits, prefix): + if not hasattr(bits, prefix): + return + +- names = list(getattr(bits, prefix).items()) ++ names = sorted(list(getattr(bits, prefix).items())) + if prefix == "btn": + names = names + btn_additional; + diff --git a/meta/recipes-support/libevdev/libevdev_1.8.0.bb b/meta/recipes-support/libevdev/libevdev_1.8.0.bb index 84274987d7..46ed5d786a 100644 --- a/meta/recipes-support/libevdev/libevdev_1.8.0.bb +++ b/meta/recipes-support/libevdev/libevdev_1.8.0.bb @@ -6,7 +6,8 @@ LICENSE = "MIT-X" LIC_FILES_CHKSUM = "file://COPYING;md5=75aae0d38feea6fda97ca381cb9132eb \ file://libevdev/libevdev.h;endline=21;md5=7ff4f0b5113252c2f1a828e0bbad98d1" -SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz" +SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz \ + file://determinism.patch" SRC_URI[md5sum] = "879631080be18526737e33b63d848039" SRC_URI[sha256sum] = "20d3cae4efd277f485abdf8f2a7c46588e539998b5a08c2c4d368218379d4211" -- cgit v1.2.3-54-g00ecf