libevdev: Fix determinism issue

We need to sort python dict output to be deterministic and generate consistent
header files.

(From OE-Core rev: 75e4cedb986379db2e8a897df52ee1363f9a9a80)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2020-02-07 12:29:56 +00:00
parent 0f2fdd4abf
commit ad4f1d59e0
2 changed files with 36 additions and 1 deletions

View File

@@ -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 <richard.purdie@linuxfoundation.org>
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;

View File

@@ -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"