summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/libevdev/libevdev/determinism.patch
blob: 06128a8e7e7337da64cd465e29c93cc09c2dc4ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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>
Submitted: https://lists.freedesktop.org/archives/input-tools/2021-February/001560.html
Upstream-Status: Backport [https://gitlab.freedesktop.org/libevdev/libevdev/-/commit/8d70f449892c6f7659e07bb0f06b8347677bb7d8]

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;