Skip to content

Commit 30c80ad

Browse files
committed
Fixes to Automatic UDEV generation
+ Removing blank vid & pids entries to avoid `invalid value` warnings + Changing incorrect syntax from `ATTR` to `ATTRS` + Adding `Release` build check to .pro to work around code syntax highlighting issue in QTcreator
1 parent 0b515ba commit 30c80ad

File tree

2 files changed

+26
-18
lines changed

2 files changed

+26
-18
lines changed

OpenRGB.pro

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1357,22 +1357,24 @@ unix:!macx {
13571357
# ie. QMAKE_EXTRA_TARGETS += udev_rules #
13581358
# PRE_TARGETDEPS += udev_rules #
13591359
#-------------------------------------------------------------------------------------------#
1360-
udev_rules.CONFIG = no_check_exist
1361-
udev_rules.target = 60-openrgb.rules
1362-
udev_rules.path = $$PREFIX/lib/udev/rules.d/
1363-
1364-
exists($$udev_rules.target) {
1365-
message($$udev_rules.target " - UDEV rules file exists. Removing from build")
1366-
udev_rules.files = $$udev_rules.target
1367-
} else {
1368-
message($$udev_rules.target " - UDEV rules file missing. Adding script to build")
1369-
#-------------------------------------------------------------------------------------------#
1370-
# This is a compiler config flag to save the preproccessed .ii & .s #
1371-
# files so as to automatically process the UDEV rules and the Supported Devices #
1372-
#-------------------------------------------------------------------------------------------#
1373-
QMAKE_CXXFLAGS+=-save-temps
1374-
udev_rules.extra = $$PWD/scripts/build-udev-rules.sh $$PWD $$GIT_COMMIT_ID
1375-
udev_rules.files = $$OUT_PWD/60-openrgb.rules
1360+
CONFIG(release, debug|release) {
1361+
udev_rules.CONFIG = no_check_exist
1362+
udev_rules.target = 60-openrgb.rules
1363+
udev_rules.path = $$PREFIX/lib/udev/rules.d/
1364+
1365+
exists($$udev_rules.target) {
1366+
message($$udev_rules.target " - UDEV rules file exists. Removing from build")
1367+
udev_rules.files = $$udev_rules.target
1368+
} else {
1369+
message($$udev_rules.target " - UDEV rules file missing. Adding script to build")
1370+
#-------------------------------------------------------------------------------------------#
1371+
# This is a compiler config flag to save the preproccessed .ii & .s #
1372+
# files so as to automatically process the UDEV rules and the Supported Devices #
1373+
#-------------------------------------------------------------------------------------------#
1374+
QMAKE_CXXFLAGS+=-save-temps
1375+
udev_rules.extra = $$PWD/scripts/build-udev-rules.sh $$PWD $$GIT_COMMIT_ID
1376+
udev_rules.files = $$OUT_PWD/60-openrgb.rules
1377+
}
13761378
}
13771379

13781380
#-------------------------------------------------------------------------------------------#

scripts/build-udev-rules.sh

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,14 @@ do
7878
pid=${pid/0x/}
7979
device_name=${device_name//[^[:alnum:][:blank:]]/}
8080

81-
udev_line=$(printf 'SUBSYSTEMS=="%s|hidraw", ATTR{idVendor}=="%s", ATTR{idProduct}=="%s", TAG+="uaccess", TAG+="%s"\n' ${type,,} ${vid,,} ${pid,,} ${device_name// /_})
82-
echo -e "$udev_line" >>"$UDEV_FILE"
81+
udev_line=$(printf 'SUBSYSTEMS=="%s|hidraw", ATTRS{idVendor}=="%s", ATTRS{idProduct}=="%s", TAG+="uaccess", TAG+="%s"\n' ${type,,} ${vid,,} ${pid,,} ${device_name// /_})
82+
83+
#Check to ensure that the vid and pid are not blank
84+
if [[ $vid = "" || $pid = "" ]]; then
85+
echo -e "Blank VID or PID Skipping: ${udev_line}"
86+
else
87+
echo -e "$udev_line" >>"$UDEV_FILE"
88+
fi
8389
done <<< "$text"
8490
done <<< "$detectors"
8591
fi

0 commit comments

Comments
 (0)