From patchwork Thu Sep 1 15:51:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 1673007 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MJQXb2b5cz1yhP for ; Fri, 2 Sep 2022 01:52:13 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9E6FC849F3; Thu, 1 Sep 2022 17:52:01 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id 5AB56849EE; Thu, 1 Sep 2022 17:52:00 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [IPv6:2001:4b98:dc4:8::222]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id AA54F848C1 for ; Thu, 1 Sep 2022 17:51:57 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: phobos.denx.de; spf=none smtp.mailfrom=foss+uboot@0leil.net Received: (Authenticated sender: foss@0leil.net) by mail.gandi.net (Postfix) with ESMTPSA id 22FEF4000A; Thu, 1 Sep 2022 15:51:55 +0000 (UTC) From: Quentin Schulz To: Cc: sjg@chromium.org, alpernebiyasak@gmail.com, stefan.herbrechtsmeier@weidmueller.com, u-boot@lists.denx.de, Quentin Schulz Subject: [PATCH v3 1/7] binman: bintool: move version check implementation into bintool class Date: Thu, 1 Sep 2022 17:51:37 +0200 Message-Id: <20220901155143.1868735-1-foss+uboot@0leil.net> X-Mailer: git-send-email 2.37.2 MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean From: Quentin Schulz Version checking has nothing specific to compression/decompression tools so let's move it to the Bintool class. Signed-off-by: Quentin Schulz Reviewed-by: Simon Glass Signed-off-by: Quentin Schulz Reviewed-by: Simon Glass --- v3: - removed superfluous version_regex assignment in BintoolPacker, - added Rb, - kept original docstring from Bintool.version which was a bit more explicit, added in v2 tools/binman/bintool.py | 43 +++++++++++++++++------------------------ 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/tools/binman/bintool.py b/tools/binman/bintool.py index ec30ceff74..ef2bdeb696 100644 --- a/tools/binman/bintool.py +++ b/tools/binman/bintool.py @@ -53,9 +53,10 @@ class Bintool: # List of bintools to regard as missing missing_list = [] - def __init__(self, name, desc): + def __init__(self, name, desc, version_regex=None): self.name = name self.desc = desc + self.version_regex = version_regex @staticmethod def find_bintool_class(btype): @@ -464,16 +465,27 @@ binaries. It is fairly easy to create new bintools. Just add a new file to the print(f"No method to fetch bintool '{self.name}'") return False - # pylint: disable=R0201 def version(self): """Version handler for a bintool - This should be implemented by the base class - Returns: str: Version string for this bintool """ - return 'unknown' + if self.version_regex is None: + return 'unknown' + + import re + + result = self.run_cmd_result('-V') + out = result.stdout.strip() + if not out: + out = result.stderr.strip() + if not out: + return 'unknown' + + m_version = re.search(self.version_regex, out) + return m_version.group(1) if m_version else out + class BintoolPacker(Bintool): """Tool which compression / decompression entry contents @@ -497,7 +509,7 @@ class BintoolPacker(Bintool): decompress_args=None, fetch_package=None, version_regex=r'(v[0-9.]+)'): desc = '%s compression' % (compression if compression else name) - super().__init__(name, desc) + super().__init__(name, desc, version_regex) if compress_args is None: compress_args = ['--compress'] self.compress_args = compress_args @@ -507,7 +519,6 @@ class BintoolPacker(Bintool): if fetch_package is None: fetch_package = name self.fetch_package = fetch_package - self.version_regex = version_regex def compress(self, indata): """Compress data @@ -557,21 +568,3 @@ class BintoolPacker(Bintool): if method != FETCH_BIN: return None return self.apt_install(self.fetch_package) - - def version(self): - """Version handler - - Returns: - str: Version number - """ - import re - - result = self.run_cmd_result('-V') - out = result.stdout.strip() - if not out: - out = result.stderr.strip() - if not out: - return super().version() - - m_version = re.search(self.version_regex, out) - return m_version.group(1) if m_version else out From patchwork Thu Sep 1 15:51:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 1673008 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MJQXh40gTz1yhP for ; Fri, 2 Sep 2022 01:52:20 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id EF6D0849FA; Thu, 1 Sep 2022 17:52:04 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id 164BE848C1; Thu, 1 Sep 2022 17:52:01 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E7779849BC for ; Thu, 1 Sep 2022 17:51:58 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: phobos.denx.de; spf=none smtp.mailfrom=foss+uboot@0leil.net Received: (Authenticated sender: foss@0leil.net) by mail.gandi.net (Postfix) with ESMTPSA id 94B0A40002; Thu, 1 Sep 2022 15:51:57 +0000 (UTC) From: Quentin Schulz To: Cc: sjg@chromium.org, alpernebiyasak@gmail.com, stefan.herbrechtsmeier@weidmueller.com, u-boot@lists.denx.de, Quentin Schulz Subject: [PATCH v3 2/7] binman: btool: lz4: use Bintool.version Date: Thu, 1 Sep 2022 17:51:38 +0200 Message-Id: <20220901155143.1868735-2-foss+uboot@0leil.net> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220901155143.1868735-1-foss+uboot@0leil.net> References: <20220901155143.1868735-1-foss+uboot@0leil.net> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean From: Quentin Schulz Bintool.version already contains everything required to get the version out of lz4 binary so let's not override it with its own implementation. Signed-off-by: Quentin Schulz Reviewed-by: Simon Glass Signed-off-by: Quentin Schulz Reviewed-by: Simon Glass --- v3: - added Rb, added in v2 tools/binman/btool/lz4.py | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/tools/binman/btool/lz4.py b/tools/binman/btool/lz4.py index f09c5c8904..dc9e37921a 100644 --- a/tools/binman/btool/lz4.py +++ b/tools/binman/btool/lz4.py @@ -76,7 +76,7 @@ class Bintoollz4(bintool.Bintool): man lz4 """ def __init__(self, name): - super().__init__(name, 'lz4 compression') + super().__init__(name, 'lz4 compression', r'.* (v[0-9.]*),.*') def compress(self, indata): """Compress data with lz4 @@ -126,15 +126,3 @@ class Bintoollz4(bintool.Bintool): if method != bintool.FETCH_BIN: return None return self.apt_install('lz4') - - def version(self): - """Version handler - - Returns: - str: Version number of lz4 - """ - out = self.run_cmd('-V').strip() - if not out: - return super().version() - m_version = re.match(r'.* (v[0-9.]*),.*', out) - return m_version.group(1) if m_version else out From patchwork Thu Sep 1 15:51:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 1673009 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MJQXt4hC3z1yhP for ; Fri, 2 Sep 2022 01:52:30 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E9147849F4; Thu, 1 Sep 2022 17:52:07 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id 0010E849FA; Thu, 1 Sep 2022 17:52:02 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 30B3B849D1 for ; Thu, 1 Sep 2022 17:52:00 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: phobos.denx.de; spf=none smtp.mailfrom=foss+uboot@0leil.net Received: (Authenticated sender: foss@0leil.net) by mail.gandi.net (Postfix) with ESMTPSA id E391E40007; Thu, 1 Sep 2022 15:51:58 +0000 (UTC) From: Quentin Schulz To: Cc: sjg@chromium.org, alpernebiyasak@gmail.com, stefan.herbrechtsmeier@weidmueller.com, u-boot@lists.denx.de, Quentin Schulz Subject: [PATCH v3 3/7] binman: btool: mkimage: use Bintool.version Date: Thu, 1 Sep 2022 17:51:39 +0200 Message-Id: <20220901155143.1868735-3-foss+uboot@0leil.net> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220901155143.1868735-1-foss+uboot@0leil.net> References: <20220901155143.1868735-1-foss+uboot@0leil.net> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean From: Quentin Schulz Bintool.version already contains everything required to get the version out of mkimage binary so let's not override it with its own implementation. Signed-off-by: Quentin Schulz Reviewed-by: Simon Glass Signed-off-by: Quentin Schulz Reviewed-by: Simon Glass --- v3: - added Rb, - removed version positional parameter for run() so that coverage still is 100%, added in v2 tools/binman/btool/mkimage.py | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/tools/binman/btool/mkimage.py b/tools/binman/btool/mkimage.py index c85bfe053c..da5f344162 100644 --- a/tools/binman/btool/mkimage.py +++ b/tools/binman/btool/mkimage.py @@ -18,11 +18,11 @@ class Bintoolmkimage(bintool.Bintool): Support is provided for fetching this on Debian-like systems, using apt. """ def __init__(self, name): - super().__init__(name, 'Generate image for U-Boot') + super().__init__(name, 'Generate image for U-Boot', r'mkimage version (.*)') # pylint: disable=R0913 def run(self, reset_timestamp=False, output_fname=None, external=False, - pad=None, version=False): + pad=None): """Run mkimage Args: @@ -44,8 +44,6 @@ class Bintoolmkimage(bintool.Bintool): args.append('-t') if output_fname: args += ['-F', output_fname] - if version: - args.append('-V') return self.run_cmd(*args) def fetch(self, method): @@ -66,15 +64,3 @@ class Bintoolmkimage(bintool.Bintool): if method != bintool.FETCH_BIN: return None return self.apt_install('u-boot-tools') - - def version(self): - """Version handler for mkimage - - Returns: - str: Version string for mkimage - """ - out = self.run(version=True).strip() - if not out: - return super().version() - m_version = re.match(r'mkimage version (.*)', out) - return m_version.group(1) if m_version else out From patchwork Thu Sep 1 15:51:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 1673010 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MJQY40YgMz1yhP for ; Fri, 2 Sep 2022 01:52:40 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 13CB984A04; Thu, 1 Sep 2022 17:52:10 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id 2F5B384A08; Thu, 1 Sep 2022 17:52:05 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 71306849BC for ; Thu, 1 Sep 2022 17:52:01 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: phobos.denx.de; spf=none smtp.mailfrom=foss+uboot@0leil.net Received: (Authenticated sender: foss@0leil.net) by mail.gandi.net (Postfix) with ESMTPSA id 2A11A40004; Thu, 1 Sep 2022 15:52:00 +0000 (UTC) From: Quentin Schulz To: Cc: sjg@chromium.org, alpernebiyasak@gmail.com, stefan.herbrechtsmeier@weidmueller.com, u-boot@lists.denx.de, Quentin Schulz Subject: [PATCH v3 4/7] binman: bintool: parametrize args to pass to binary for returning version Date: Thu, 1 Sep 2022 17:51:40 +0200 Message-Id: <20220901155143.1868735-4-foss+uboot@0leil.net> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220901155143.1868735-1-foss+uboot@0leil.net> References: <20220901155143.1868735-1-foss+uboot@0leil.net> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean From: Quentin Schulz 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 Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- v3: - rename version_parameters into version_args, added in v2 tools/binman/bintool.py | 9 +++++---- 1 file 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 From patchwork Thu Sep 1 15:51:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 1673011 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MJQYH34Knz1yhP for ; Fri, 2 Sep 2022 01:52:51 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 2F88084A22; Thu, 1 Sep 2022 17:52:13 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id AD20A848C9; Thu, 1 Sep 2022 17:52:06 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id BF931849FD for ; Thu, 1 Sep 2022 17:52:02 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: phobos.denx.de; spf=none smtp.mailfrom=foss+uboot@0leil.net Received: (Authenticated sender: foss@0leil.net) by mail.gandi.net (Postfix) with ESMTPSA id 5E5F140002; Thu, 1 Sep 2022 15:52:01 +0000 (UTC) From: Quentin Schulz To: Cc: sjg@chromium.org, alpernebiyasak@gmail.com, stefan.herbrechtsmeier@weidmueller.com, u-boot@lists.denx.de, Quentin Schulz Subject: [PATCH v3 5/7] binman: btool: fiptool: use Bintool.version Date: Thu, 1 Sep 2022 17:51:41 +0200 Message-Id: <20220901155143.1868735-5-foss+uboot@0leil.net> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220901155143.1868735-1-foss+uboot@0leil.net> References: <20220901155143.1868735-1-foss+uboot@0leil.net> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean From: Quentin Schulz Bintool.version can now be passed the binary argument to return the version text, so there's no need to override it in fiptool anymore. Signed-off-by: Quentin Schulz Reviewed-by: Simon Glass Signed-off-by: Quentin Schulz Reviewed-by: Simon Glass --- v3: - added Rb, added in v2 tools/binman/btool/fiptool.py | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/tools/binman/btool/fiptool.py b/tools/binman/btool/fiptool.py index c6d71cebc2..c80f8275c4 100644 --- a/tools/binman/btool/fiptool.py +++ b/tools/binman/btool/fiptool.py @@ -49,7 +49,7 @@ class Bintoolfiptool(bintool.Bintool): https://trustedfirmware-a.readthedocs.io/en/latest/getting_started/tools-build.html?highlight=fiptool#building-and-using-the-fip-tool """ def __init__(self, name): - super().__init__(name, 'Manipulate ATF FIP files') + super().__init__(name, 'Manipulate ATF FIP files', r'^(.*)$', 'version') def info(self, fname): """Get info on a FIP image @@ -112,12 +112,3 @@ class Bintoolfiptool(bintool.Bintool): 'fiptool', 'tools/fiptool/fiptool') return result - - def version(self): - """Version handler for fiptool - - Returns: - str: Version number of fiptool - """ - out = self.run_cmd('version').strip() - return out or super().version() From patchwork Thu Sep 1 15:51:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 1673012 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MJQYV4mYTz1yhP for ; Fri, 2 Sep 2022 01:53:02 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 29DBB84A13; Thu, 1 Sep 2022 17:52:16 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id DFA45848C9; Thu, 1 Sep 2022 17:52:07 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 1F040848C1 for ; Thu, 1 Sep 2022 17:52:04 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: phobos.denx.de; spf=none smtp.mailfrom=foss+uboot@0leil.net Received: (Authenticated sender: foss@0leil.net) by mail.gandi.net (Postfix) with ESMTPSA id B0A1540004; Thu, 1 Sep 2022 15:52:02 +0000 (UTC) From: Quentin Schulz To: Cc: sjg@chromium.org, alpernebiyasak@gmail.com, stefan.herbrechtsmeier@weidmueller.com, u-boot@lists.denx.de, Quentin Schulz Subject: [PATCH v3 6/7] binman: btool: futility: use Bintool.version Date: Thu, 1 Sep 2022 17:51:42 +0200 Message-Id: <20220901155143.1868735-6-foss+uboot@0leil.net> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220901155143.1868735-1-foss+uboot@0leil.net> References: <20220901155143.1868735-1-foss+uboot@0leil.net> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean From: Quentin Schulz Bintool.version can now be passed the binary argument to return the version text, so there's no need to override it in futility anymore. Signed-off-by: Quentin Schulz Reviewed-by: Simon Glass Signed-off-by: Quentin Schulz Reviewed-by: Simon Glass --- v3: - added Rb, added in v2 tools/binman/btool/futility.py | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/tools/binman/btool/futility.py b/tools/binman/btool/futility.py index 8d00966a9d..75a05c2ac6 100644 --- a/tools/binman/btool/futility.py +++ b/tools/binman/btool/futility.py @@ -69,7 +69,7 @@ class Bintoolfutility(bintool.Bintool): https://chromium.googlesource.com/chromiumos/platform/vboot/+/refs/heads/main/_vboot_reference/README """ def __init__(self, name): - super().__init__(name, 'Chromium OS firmware utility') + super().__init__(name, 'Chromium OS firmware utility', r'^(.*)$', 'version') def gbb_create(self, fname, sizes): """Create a new Google Binary Block @@ -165,14 +165,3 @@ class Bintoolfutility(bintool.Bintool): fname, tmpdir = self.fetch_from_drive( '1hdsInzsE4aJbmBeJ663kYgjOQyW1I-E0') return fname, tmpdir - - def version(self): - """Version handler for futility - - Returns: - str: Version string for futility - """ - out = self.run_cmd('version').strip() - if not out: - return super().version() - return out From patchwork Thu Sep 1 15:51:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 1673013 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MJQYj4MFmz1yhP for ; Fri, 2 Sep 2022 01:53:13 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 49CF784A2B; Thu, 1 Sep 2022 17:52:19 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id AED2484A04; Thu, 1 Sep 2022 17:52:08 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 0D74384A09 for ; Thu, 1 Sep 2022 17:52:05 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: phobos.denx.de; spf=none smtp.mailfrom=foss+uboot@0leil.net Received: (Authenticated sender: foss@0leil.net) by mail.gandi.net (Postfix) with ESMTPSA id E549340006; Thu, 1 Sep 2022 15:52:03 +0000 (UTC) From: Quentin Schulz To: Cc: sjg@chromium.org, alpernebiyasak@gmail.com, stefan.herbrechtsmeier@weidmueller.com, u-boot@lists.denx.de, Quentin Schulz Subject: [PATCH v3 7/7] binman: bintool: bzip2: fix version function on non-Debian-based systems Date: Thu, 1 Sep 2022 17:51:43 +0200 Message-Id: <20220901155143.1868735-7-foss+uboot@0leil.net> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220901155143.1868735-1-foss+uboot@0leil.net> References: <20220901155143.1868735-1-foss+uboot@0leil.net> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean From: Quentin Schulz Upstream bzip2 1.0.x actually is stuck when running bzip2 -V and redirecting the output. This is fixed in Debian for about a decade already in https://git.launchpad.net/ubuntu/+source/bzip2/tree/debian/patches/20-legacy.patch?h=ubuntu/jammy and in bzip2 1.1.x (no release yet, see https://gitlab.com/bzip2/bzip2/-/commit/65179284ceddc43e6388bf4ed8c2d85cf16e1b2f ). Fedora notably does not have such a patch. Since bzip2 --help actually prints the version number too, let's use it instead so that binman works fine on (hopefully) all distributions. Fixes: 45aa2798008c ("binman: Add bzip2 bintool") Signed-off-by: Quentin Schulz Reviewed-by: Simon Glass Signed-off-by: Quentin Schulz Reviewed-by: Simon Glass --- v3: - added Rb, - renamed version_parameters into version_args, v2: - use version_parameters from Bintoolpacker class instead of overriding version method, tools/binman/btool/bzip2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/binman/btool/bzip2.py b/tools/binman/btool/bzip2.py index 9be87a621f..c3897d63ac 100644 --- a/tools/binman/btool/bzip2.py +++ b/tools/binman/btool/bzip2.py @@ -27,4 +27,4 @@ class Bintoolbzip2(bintool.BintoolPacker): man bzip2 """ def __init__(self, name): - super().__init__(name, version_regex=r'bzip2.*Version ([0-9.]+)') + super().__init__(name, version_regex=r'bzip2.*Version ([0-9.]+)', version_args='--help')