Skip to content

Commit

Permalink
libevdev: Fix determinism issue
Browse files Browse the repository at this point in the history
We need to sort python dict output to be deterministic and generate consistent
header files.

(From OE-Core rev: 91abfa2bd11234874af6dd63d82a2c268d7ddb2c)

Signed-off-by: Richard Purdie <[email protected]>
  • Loading branch information
rpurdie committed Feb 8, 2020
1 parent a182d56 commit ec35545
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 1 deletion.
34 changes: 34 additions & 0 deletions meta/recipes-support/libevdev/libevdev/determinism.patch
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>
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;

3 changes: 2 additions & 1 deletion meta/recipes-support/libevdev/libevdev_1.8.0.bb
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down

0 comments on commit ec35545

Please sign in to comment.