Skip to content

Commit

Permalink
[CLI] Make qmk doctor more lenient about system config (qmk#13804)
Browse files Browse the repository at this point in the history
  • Loading branch information
ruro authored and nhongooi committed Dec 5, 2021
1 parent 75aabf9 commit 1aff71e
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 6 deletions.
4 changes: 2 additions & 2 deletions lib/python/qmk/cli/doctor/check.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
14 changes: 10 additions & 4 deletions lib/python/qmk/cli/doctor/linux.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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

Expand Down

0 comments on commit 1aff71e

Please sign in to comment.