~ruther/qmk_firmware

52dad230d68ffecc3dc5b317cc5f1194b9c6802b — ruro 4 years ago 6d82c92
[CLI] Make `qmk doctor` more lenient about system config (#13804)

2 files changed, 12 insertions(+), 6 deletions(-)

M lib/python/qmk/cli/doctor/check.py
M lib/python/qmk/cli/doctor/linux.py
M lib/python/qmk/cli/doctor/check.py => lib/python/qmk/cli/doctor/check.py +2 -2
@@ 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

M lib/python/qmk/cli/doctor/linux.py => lib/python/qmk/cli/doctor/linux.py +10 -4
@@ 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