summaryrefslogtreecommitdiff
path: root/lib/python/qmk/cli/doctor
diff options
context:
space:
mode:
authorruro <ruro.ruro@ya.ru>2021-07-31 07:43:42 +0300
committerGitHub <noreply@github.com>2021-07-30 21:43:42 -0700
commit52dad230d68ffecc3dc5b317cc5f1194b9c6802b (patch)
tree45fc7788fb6ddd5cfb95a6f6185396d6c5019ac9 /lib/python/qmk/cli/doctor
parent6d82c92476240255eecbab850db26b8706184c83 (diff)
[CLI] Make `qmk doctor` more lenient about system config (#13804)
Diffstat (limited to 'lib/python/qmk/cli/doctor')
-rw-r--r--lib/python/qmk/cli/doctor/check.py4
-rw-r--r--lib/python/qmk/cli/doctor/linux.py14
2 files changed, 12 insertions, 6 deletions
diff --git a/lib/python/qmk/cli/doctor/check.py b/lib/python/qmk/cli/doctor/check.py
index a0bbb28168..0807f41518 100644
--- a/lib/python/qmk/cli/doctor/check.py
+++ b/lib/python/qmk/cli/doctor/check.py
@@ -159,6 +159,6 @@ def check_git_repo():
This is a decent enough indicator that the qmk_firmware directory is a
proper Git repository, rather than a .zip download from GitHub.
"""
- dot_git_dir = QMK_FIRMWARE / '.git'
+ dot_git = QMK_FIRMWARE / '.git'
- return CheckStatus.OK if dot_git_dir.is_dir() else CheckStatus.WARNING
+ return CheckStatus.OK if dot_git.exists() else CheckStatus.WARNING
diff --git a/lib/python/qmk/cli/doctor/linux.py b/lib/python/qmk/cli/doctor/linux.py
index c0b77216a1..8ea04cd698 100644
--- a/lib/python/qmk/cli/doctor/linux.py
+++ b/lib/python/qmk/cli/doctor/linux.py
@@ -41,7 +41,12 @@ def check_udev_rules():
"""Make sure the udev rules look good.
"""
rc = CheckStatus.OK
- udev_dir = Path("/etc/udev/rules.d/")
+ udev_dirs = [
+ Path("/usr/lib/udev/rules.d/"),
+ Path("/usr/local/lib/udev/rules.d/"),
+ Path("/run/udev/rules.d/"),
+ Path("/etc/udev/rules.d/"),
+ ]
desired_rules = {
'atmel-dfu': {
_udev_rule("03eb", "2fef"), # ATmega16U2
@@ -90,8 +95,8 @@ def check_udev_rules():
'tmk': {_deprecated_udev_rule("feed")}
}
- if udev_dir.exists():
- udev_rules = [rule_file for rule_file in udev_dir.glob('*.rules')]
+ if any(udev_dir.exists() for udev_dir in udev_dirs):
+ udev_rules = [rule_file for udev_dir in udev_dirs for rule_file in udev_dir.glob('*.rules')]
current_rules = set()
# Collect all rules from the config files
@@ -117,7 +122,8 @@ def check_udev_rules():
cli.log.warning("{fg_yellow}Missing or outdated udev rules for '%s' boards. Run 'sudo cp %s/util/udev/50-qmk.rules /etc/udev/rules.d/'.", bootloader, QMK_FIRMWARE)
else:
- cli.log.warning("{fg_yellow}'%s' does not exist. Skipping udev rule checking...", udev_dir)
+ cli.log.warning("{fg_yellow}Can't find udev rules, skipping udev rule checking...")
+ cli.log.debug("Checked directories: %s", ', '.join(str(udev_dir) for udev_dir in udev_dirs))
return rc