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 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;