(RHEL-130979) Fix parse-hwdb#454
Merged
jamacku merged 7 commits intoredhat-plumbers:rhel-8.10.0from Dec 1, 2025
Merged
Conversation
Signed-off-by: Luís Ferreira <contact@lsferreira.net> (cherry picked from commit ccf4784) Related: RHEL-130979
(cherry picked from commit 331e34f) Related: RHEL-130979
Loosely cherry-picked from aa549ff. rhel-only Related: RHEL-130979
(cherry picked from commit ad0d9c0) Related: RHEL-130979
In the past we didn't have any matches like that, so the parser was stricter than necessary, but now we have, so allow that. (cherry picked from commit 457763a) Related: RHEL-130979
Commit validationTracker - RHEL-130979 The following commits meet all requirements
Tracker validationSuccess🟢 Tracker RHEL-130979 has set desired product: Pull Request validationSuccess🟢 CI - All checks have passed Auto MergeFailed🔴 Pull Request has unsupported target branch Success🟢 Pull Request is not marked as draft and it's not blocked by |
pyparsing 2.3.1/2.4.0 had some changes to grouping of And matches, and as a result we'd report 0 properties and 0 matches, and not really do any checks. With this change we get identical behaviour for pyparsing 2.3.1, 2.4.0, 2.4.2: $ hwdb/parse_hwdb.py hwdb/60-evdev.hwdb: 72 match groups, 94 matches, 262 properties hwdb/60-input-id.hwdb: 3 match groups, 3 matches, 4 properties hwdb/60-keyboard.hwdb: 173 match groups, 256 matches, 872 properties Keycode KBD_LCD_MENU1 unknown Keycode KBD_LCD_MENU4 unknown Keycode KBD_LCD_MENU2 unknown Keycode KBD_LCD_MENU3 unknown hwdb/60-sensor.hwdb: 101 match groups, 120 matches, 105 properties hwdb/70-joystick.hwdb: 2 match groups, 3 matches, 2 properties hwdb/70-mouse.hwdb: 104 match groups, 119 matches, 123 properties hwdb/70-pointingstick.hwdb: 8 match groups, 30 matches, 11 properties hwdb/70-touchpad.hwdb: 6 match groups, 9 matches, 6 properties (cherry picked from commit 2382a2e) Related: RHEL-130979
jamacku
approved these changes
Nov 26, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I originally disabled this test in CentOS CI after moving it to a C9S runner because I thought the fails were caused by a newer python (or other) package and that we run the test internally anyway, so it shouldn't matter. Turns out we didn't run it internally at that time, until something started pulling in python3-pyparsing and then it started failing there as well.
The fails were caused by missing patches for
hwdb/parse_hwdb.pysince during hwdb rebases we pulled in only the hwdb changes without updating theparse_hwdb.pyscript. To have at least some coverage for the hwdb files I backported the necessary patches, and if the original patches were too different from our codebase I picked only what we actually need (see the two rhel-only patches). All the patches touch only theparse_hwdb.pyscript, so this should be pretty safe even this late in the RHEL 8 cycle.I re-enabled the test in CentOS CI and it seems to be happy: