bug: 60-openrgb.rules has strange variations
While working on reproducible builds for openSUSE, I found that our OpenRGB-0.9
package produces strange variations in 60-openrgb.rules
--- old/usr/lib/udev/rules.d/60-openrgb.rules 2023-09-07 02:00:00.000000000 +0200
+++ new/usr/lib/udev/rules.d/60-openrgb.rules 2023-09-07 02:00:00.000000000 +0200
@@ -738,7 +738,7 @@
SUBSYSTEMS=="usb|hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="4087", TAG+="uaccess", TAG+="Logitech_G903_Hero_Wireless_Gaming_Mouse"
SUBSYSTEMS=="usb|hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="4079", TAG+="uaccess", TAG+="Logitech_G_Pro_Wireless_Gaming_Mouse"
SUBSYSTEMS=="usb|hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="405f", TAG+="uaccess", TAG+="Logitech_Powerplay_Mat"
-SUBSYSTEMS=="usb|hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c539", TAG+="uaccess", TAG+="Logitech_G_Lightspeed_Receiver"
+SUBSYSTEMS=="usb|hidraw", ATTRS{idVendor}=="0951", ATTRS{idProduct}=="1741", TAG+="uaccess", TAG+="HyperX_Pulsefire_Mat_RGB_Mouse_Pad_XL"
SUBSYSTEMS=="usb|hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c53a", TAG+="uaccess", TAG+="Logitech_Powerplay_Mat_Receiver"
#---------------------------------------------------------------#
# Logitech Lightspeed - DetectLogitechWired
@@ -1080,7 +1080,7 @@
#---------------------------------------------------------------#
# NZXT Hue+ - DetectNZXTHuePlusControllers
#---------------------------------------------------------------#
-SUBSYSTEMS=="serial|hidraw", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="098c", TAG+="uaccess", TAG+="HyperX_DuoCast"
+SUBSYSTEMS=="serial|hidraw", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="00df", TAG+="uaccess", TAG+="NZXT_Hue"
#---------------------------------------------------------------#
or even
--- old/usr/lib/udev/rules.d/60-openrgb.rules 2023-09-07 02:00:00.000000000 +0200
+++ new/usr/lib/udev/rules.d/60-openrgb.rules 2023-09-07 02:00:00.000000000 +0200
@@ -202,7 +202,7 @@
#---------------------------------------------------------------#
# Blinky Tape - DetectBlinkyTapeControllers
#---------------------------------------------------------------#
-SUBSYSTEMS=="serial|hidraw", ATTRS{idVendor}=="306f", ATTRS{idProduct}=="1234", TAG+="uaccess", TAG+="JSAUX_RGB_Docking_Station"
+SUBSYSTEMS=="serial|hidraw", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="605e", TAG+="uaccess", TAG+="BlinkyTape"
#---------------------------------------------------------------#
# Cherry Keyboard - DetectCherryKeyboards
#---------------------------------------------------------------#
@@ -738,7 +738,7 @@
SUBSYSTEMS=="usb|hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="4087", TAG+="uaccess", TAG+="Logitech_G903_Hero_Wireless_Gaming_Mouse"
SUBSYSTEMS=="usb|hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="4079", TAG+="uaccess", TAG+="Logitech_G_Pro_Wireless_Gaming_Mouse"
SUBSYSTEMS=="usb|hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="405f", TAG+="uaccess", TAG+="Logitech_Powerplay_Mat"
-SUBSYSTEMS=="usb|hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c539", TAG+="uaccess", TAG+="Logitech_G_Lightspeed_Receiver"
+SUBSYSTEMS=="usb|hidraw", ATTRS{idVendor}=="vid", ATTRS{idProduct}=="pid", TAG+="uaccess", TAG+="name"
SUBSYSTEMS=="usb|hidraw", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c53a", TAG+="uaccess", TAG+="Logitech_Powerplay_Mat_Receiver"
#---------------------------------------------------------------#
# Logitech Lightspeed - DetectLogitechWired
I found that variations do not happen, when building on a 1-core-VM with a filesystem that has deterministic readdir order. That might give a hint on the source of the issue.