mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-27 11:31:13 +00:00
More essential binaries.
This commit is contained in:
parent
ddd0f54c94
commit
99f2b767be
@ -1,7 +1,6 @@
|
|||||||
"""Check for specific programs.
|
"""Check for specific programs.
|
||||||
"""
|
"""
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
import re
|
|
||||||
import shutil
|
import shutil
|
||||||
from subprocess import DEVNULL, TimeoutExpired
|
from subprocess import DEVNULL, TimeoutExpired
|
||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
@ -18,6 +17,18 @@ class CheckStatus(Enum):
|
|||||||
|
|
||||||
|
|
||||||
ESSENTIAL_BINARIES = {
|
ESSENTIAL_BINARIES = {
|
||||||
|
'make': {
|
||||||
|
'version_arg': '--version'
|
||||||
|
},
|
||||||
|
'git': {
|
||||||
|
'version_arg': '--version'
|
||||||
|
},
|
||||||
|
'dos2unix': {
|
||||||
|
'version_arg': '--version'
|
||||||
|
},
|
||||||
|
'diff': {
|
||||||
|
'version_arg': '--version'
|
||||||
|
},
|
||||||
'dfu-programmer': {},
|
'dfu-programmer': {},
|
||||||
'avrdude': {},
|
'avrdude': {},
|
||||||
'dfu-util': {},
|
'dfu-util': {},
|
||||||
@ -30,14 +41,36 @@ ESSENTIAL_BINARIES = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def _parse_gcc_version(version):
|
def _check_make_version():
|
||||||
m = re.match(r"(\d+)(?:\.(\d+))?(?:\.(\d+))?", version)
|
last_line = ESSENTIAL_BINARIES['make']['output'].split('\n')[0]
|
||||||
|
version_number = last_line.split()[2]
|
||||||
|
cli.log.info('Found make version %s', version_number)
|
||||||
|
|
||||||
return {
|
return CheckStatus.OK
|
||||||
'major': int(m.group(1)),
|
|
||||||
'minor': int(m.group(2)) if m.group(2) else 0,
|
|
||||||
'patch': int(m.group(3)) if m.group(3) else 0,
|
def _check_git_version():
|
||||||
}
|
last_line = ESSENTIAL_BINARIES['git']['output'].split('\n')[0]
|
||||||
|
version_number = last_line.split()[2]
|
||||||
|
cli.log.info('Found git version %s', version_number)
|
||||||
|
|
||||||
|
return CheckStatus.OK
|
||||||
|
|
||||||
|
|
||||||
|
def _check_dos2unix_version():
|
||||||
|
last_line = ESSENTIAL_BINARIES['dos2unix']['output'].split('\n')[0]
|
||||||
|
version_number = last_line.split()[1]
|
||||||
|
cli.log.info('Found dos2unix version %s', version_number)
|
||||||
|
|
||||||
|
return CheckStatus.OK
|
||||||
|
|
||||||
|
|
||||||
|
def _check_diff_version():
|
||||||
|
last_line = ESSENTIAL_BINARIES['diff']['output'].split('\n')[0]
|
||||||
|
version_number = last_line.split()[3]
|
||||||
|
cli.log.info('Found diff version %s', version_number)
|
||||||
|
|
||||||
|
return CheckStatus.OK
|
||||||
|
|
||||||
|
|
||||||
def _check_arm_gcc_version():
|
def _check_arm_gcc_version():
|
||||||
@ -159,6 +192,10 @@ def check_binary_versions():
|
|||||||
"""Check the versions of ESSENTIAL_BINARIES
|
"""Check the versions of ESSENTIAL_BINARIES
|
||||||
"""
|
"""
|
||||||
checks = {
|
checks = {
|
||||||
|
'make': _check_make_version,
|
||||||
|
'git': _check_git_version,
|
||||||
|
'dos2unix': _check_dos2unix_version,
|
||||||
|
'diff': _check_diff_version,
|
||||||
'arm-none-eabi-gcc': _check_arm_gcc_version,
|
'arm-none-eabi-gcc': _check_arm_gcc_version,
|
||||||
'avr-gcc': _check_avr_gcc_version,
|
'avr-gcc': _check_avr_gcc_version,
|
||||||
'avrdude': _check_avrdude_version,
|
'avrdude': _check_avrdude_version,
|
||||||
|
Loading…
Reference in New Issue
Block a user