Andrew Geissler | 4b740dc | 2020-05-05 08:54:39 -0500 | [diff] [blame] | 1 | From 4f196323aba5b0f49979826533c65633b8a9b6a2 Mon Sep 17 00:00:00 2001 |
| 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> |
| 3 | Date: Fri, 7 Feb 2020 12:29:56 +0000 |
| 4 | Subject: [PATCH] libevdev: Fix determinism issue |
| 5 | |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 6 | The order of dict values is not deterministic leading to differing header file generation. |
| 7 | Sort to remove this inconsistency. |
| 8 | |
| 9 | RP 2020/2/7 |
| 10 | |
| 11 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> |
Andrew Geissler | 90fd73c | 2021-03-05 15:25:55 -0600 | [diff] [blame^] | 12 | Submitted: https://lists.freedesktop.org/archives/input-tools/2021-February/001560.html |
| 13 | Upstream-Status: Backport [https://gitlab.freedesktop.org/libevdev/libevdev/-/commit/8d70f449892c6f7659e07bb0f06b8347677bb7d8] |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 14 | |
Andrew Geissler | 4b740dc | 2020-05-05 08:54:39 -0500 | [diff] [blame] | 15 | --- |
| 16 | libevdev/make-event-names.py | 6 +++--- |
| 17 | 1 file changed, 3 insertions(+), 3 deletions(-) |
| 18 | |
| 19 | diff --git a/libevdev/make-event-names.py b/libevdev/make-event-names.py |
| 20 | index 88addd7..c973e2a 100755 |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 21 | --- a/libevdev/make-event-names.py |
| 22 | +++ b/libevdev/make-event-names.py |
Andrew Geissler | 4b740dc | 2020-05-05 08:54:39 -0500 | [diff] [blame] | 23 | @@ -70,10 +70,10 @@ def print_bits(bits, prefix): |
| 24 | if not hasattr(bits, prefix): |
| 25 | return |
| 26 | print("static const char * const %s_map[%s_MAX + 1] = {" % (prefix, prefix.upper())) |
| 27 | - for val, name in list(getattr(bits, prefix).items()): |
| 28 | + for val, name in sorted(list(getattr(bits, prefix).items())): |
| 29 | print(" [%s] = \"%s\"," % (name, name)) |
| 30 | if prefix == "key": |
| 31 | - for val, name in list(getattr(bits, "btn").items()): |
| 32 | + for val, name in sorted(list(getattr(bits, "btn").items())): |
| 33 | print(" [%s] = \"%s\"," % (name, name)) |
| 34 | print("};") |
| 35 | print("") |
| 36 | @@ -118,7 +118,7 @@ def print_lookup(bits, prefix): |
| 37 | if not hasattr(bits, prefix): |
| 38 | return |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 39 | |
Andrew Geissler | 4b740dc | 2020-05-05 08:54:39 -0500 | [diff] [blame] | 40 | - names = list(getattr(bits, prefix).items()) |
| 41 | + names = sorted(list(getattr(bits, prefix).items())) |
| 42 | if prefix == "btn": |
| 43 | names = names + btn_additional |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 44 | |