Skip to content

(RHEL-130979) Fix parse-hwdb#454

Merged
jamacku merged 7 commits intoredhat-plumbers:rhel-8.10.0from
mrc0mmand:ci-fixes
Dec 1, 2025
Merged

(RHEL-130979) Fix parse-hwdb#454
jamacku merged 7 commits intoredhat-plumbers:rhel-8.10.0from
mrc0mmand:ci-fixes

Conversation

@mrc0mmand
Copy link
Member

@mrc0mmand mrc0mmand commented Nov 25, 2025

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.py since during hwdb rebases we pulled in only the hwdb changes without updating the parse_hwdb.py script. 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 the parse_hwdb.py script, 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:

================================== 366/372 ===================================
test:         parse-hwdb
start time:   20:00:47
duration:     2.41s
result:       exit status 0
command:      MALLOC_PERTURB_=88 /root/systemd/hwdb/parse_hwdb.py
----------------------------------- stdout -----------------------------------
WARNING: evdev is not available
/root/systemd/hwdb/60-autosuspend-fingerprint-reader.hwdb: 25 match groups, 219 matches, 25 properties
/root/systemd/hwdb/60-autosuspend.hwdb: 5 match groups, 8 matches, 5 properties
/root/systemd/hwdb/60-evdev.hwdb: 86 match groups, 113 matches, 312 properties
/root/systemd/hwdb/60-input-id.hwdb: 5 match groups, 5 matches, 6 properties
/root/systemd/hwdb/60-keyboard.hwdb: 193 match groups, 285 matches, 967 properties
/root/systemd/hwdb/60-seat.hwdb: 3 match groups, 3 matches, 3 properties
/root/systemd/hwdb/60-sensor.hwdb: 152 match groups, 195 matches, 161 properties
/root/systemd/hwdb/70-joystick.hwdb: 2 match groups, 3 matches, 2 properties
/root/systemd/hwdb/70-mouse.hwdb: 116 match groups, 137 matches, 143 properties
/root/systemd/hwdb/70-pointingstick.hwdb: 8 match groups, 30 matches, 11 properties
/root/systemd/hwdb/70-touchpad.hwdb: 6 match groups, 9 matches, 6 properties

ljmf00 and others added 6 commits November 25, 2025 18:38
Signed-off-by: Luís Ferreira <contact@lsferreira.net>
(cherry picked from commit ccf4784)

Related: RHEL-130979
Loosely cherry-picked from aa549ff.

rhel-only
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
This includes changes for hwdb/parse_hwdb.py from commits:
  - c0b2e69
  - d7d3169
  - a136c2c
  - and possibly others

The hwdb changes from these commits were backported as part of
793dc4d.

rhel-only
Related: RHEL-130979
@github-actions github-actions bot changed the title Fix parse-hwdb (RHEL-130979) Fix parse-hwdb Nov 25, 2025
@github-actions github-actions bot added rhel-8.10.0 pr/needs-ci Formerly needs-ci pr/needs-review Formerly needs-review labels Nov 25, 2025
@github-actions
Copy link

github-actions bot commented Nov 25, 2025

Commit validation

Tracker - RHEL-130979

The following commits meet all requirements

commit upstream
84c075f - hwdb: add ACCEL_LOCATION property to parse_hwdb.py systemd/systemd@ccf4784
f4ac3b4 - hwdb: update ACCEL_LOCATION property to use Or instead of QuotedString… systemd/systemd@331e34f
abe0840 - test: support general properties in hwdb files rhel-only
224222b - hwdb: Relax parsing script to allow 0 and 1 for all ID* properties_ systemd/systemd@ad0d9c0
acaed7b - hwdb: allow spaces in usb: matches and similar patterns systemd/systemd@457763a
09fa71b - test: fix parsing of 60-seat.hwdb and 60-keyboard.hwdb rhel-only
c194479 - parse_hwdb: fix compatibility with pyparsing 2.4.* systemd/systemd@2382a2e

Tracker validation

Success

🟢 Tracker RHEL-130979 has set desired product: rhel-8.10.z
🟢 Tracker RHEL-130979 has set desired component: systemd
🟢 Tracker RHEL-130979 has been approved
🟢 Tracker RHEL-130979 has set severity


Pull Request validation

Success

🟢 CI - All checks have passed
🟢 Review - Reviewed by a member
🟢 Approval - Changes were approved


Auto Merge

Failed

🔴 Pull Request has unsupported target branch rhel-8.10.0, expected branches are: 'main,master'

Success

🟢 Pull Request is not marked as draft and it's not blocked by dont-merge label
🟢 Pull Request meet requirements, title has correct form
🟢 Pull Request meet requirements, mergeable is true
🟢 Pull Request meet requirements, mergeable_state is clean

@github-actions github-actions bot removed the pr/needs-ci Formerly needs-ci label Nov 25, 2025
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
@github-actions github-actions bot added pr/needs-ci Formerly needs-ci and removed pr/needs-ci Formerly needs-ci labels Nov 25, 2025
@mrc0mmand mrc0mmand marked this pull request as ready for review November 25, 2025 21:15
@github-actions github-actions bot added pr/needs-manual-merge and removed pr/needs-review Formerly needs-review labels Nov 26, 2025
@jamacku jamacku merged commit c85ce04 into redhat-plumbers:rhel-8.10.0 Dec 1, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants