summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorQuentin Schulz <quentin.schulz@theobroma-systems.com>2022-09-01 17:51:40 +0200
committerSimon Glass <sjg@chromium.org>2022-09-01 11:36:36 -0600
commite440843448d27f2cc5a6446decd1bcbaae3b1533 (patch)
treef49c68f1df0d55195aeb9d91e78ce2e1a366b156 /tools
parent65e2c14d5a5a406decae07e2b5a2a74e7bd69c68 (diff)
binman: bintool: parametrize args to pass to binary for returning version
The code to check the version is very similar between binaries, the most likely only needed variables are the regex to find the version (already supported) and the args to pass to the binary so that it prints this version (e.g. --version, -V or similar). Let's make it a parameter of Bintool so that code duplication can be avoided for simple changes. Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/binman/bintool.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/tools/binman/bintool.py b/tools/binman/bintool.py
index ef2bdeb696..032179a99d 100644
--- a/tools/binman/bintool.py
+++ b/tools/binman/bintool.py
@@ -53,10 +53,11 @@ class Bintool:
# List of bintools to regard as missing
missing_list = []
- def __init__(self, name, desc, version_regex=None):
+ def __init__(self, name, desc, version_regex=None, version_args='-V'):
self.name = name
self.desc = desc
self.version_regex = version_regex
+ self.version_args = version_args
@staticmethod
def find_bintool_class(btype):
@@ -476,7 +477,7 @@ binaries. It is fairly easy to create new bintools. Just add a new file to the
import re
- result = self.run_cmd_result('-V')
+ result = self.run_cmd_result(self.version_args)
out = result.stdout.strip()
if not out:
out = result.stderr.strip()
@@ -507,9 +508,9 @@ class BintoolPacker(Bintool):
"""
def __init__(self, name, compression=None, compress_args=None,
decompress_args=None, fetch_package=None,
- version_regex=r'(v[0-9.]+)'):
+ version_regex=r'(v[0-9.]+)', version_args='-V'):
desc = '%s compression' % (compression if compression else name)
- super().__init__(name, desc, version_regex)
+ super().__init__(name, desc, version_regex, version_args)
if compress_args is None:
compress_args = ['--compress']
self.compress_args = compress_args