From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4D33CECAAD2 for ; Thu, 1 Sep 2022 06:17:27 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 230B384223; Thu, 1 Sep 2022 08:17:25 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.b="dpuBqXPw"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id C6023841B7; Thu, 1 Sep 2022 08:17:22 +0200 (CEST) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20067.outbound.protection.outlook.com [40.107.2.67]) (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 3093D841B7 for ; Thu, 1 Sep 2022 08:17:20 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=weidmueller.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=stefan.herbrechtsmeier-oss@weidmueller.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ak2vQTIjfvkWdYZwRFPjQVi2NnjsW6W5DVR0bxIjyky0g3UDC9qhji3z7VxZvj4F6Gr/N2KxBzNmP8wYwjRMwO/I3bXxiMKAshnONOWFqL7GtaM0hc+Q5qWA0ewV2CNIxGGwelzrUdNhdD2MmDw+kWBtKpNviftFQKSntsMYHyjo7UyoScukPn4Ermhikt5DDpvBPokMJYjZifxG69SWzrs9IedYRh71lBz+ruuSw4G4JKV8QaxBhlPMCydLsKmZpVqVqPwEhyoZlk3Im+MBp9ft37b2DogSDyCqsHr3Abn9uKgRdcjSU3CY24bRwIhsu2BKk9Y3jnvQjZlGf3NIIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qJbJ0OAk3oVB+P5UCLmRwdFK5K3CbhLk/P+47QYtE7Y=; b=cHpLzCIzjtEBw5mOPuJ1GkyiJtOsTXuKCjF6E4ULqVnsXm7weWjReqGGlo0iDty3ds8Mtg3rVwrf4lNvoADPaJ2GiCwFNGtMgI8MkaSkIuCpTs2pUDvPNjnHeZarEi3BIwrKZwRO0ypoDQWR5RAnH2wFsRV1jo+WnOcrdFz36hDpbZCjQ+03WuzTqv9qQ89N6g3TVxLZaDZy2Z8eskh/qR6x7EIaHdEuUtPE4sbCRt9yaP5a0Whhl+fA4wFUC9Y6QFEBsgcbEyWDwPcLFcuhte4iRYMFtqSaDIpIpG0WYNsllLoDVhoC+Y2v31sZBEJQM9sqAswpIZXCvmaU54m0mQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=weidmueller.com; dmarc=pass action=none header.from=weidmueller.com; dkim=pass header.d=weidmueller.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=weidmueller.onmicrosoft.com; s=selector1-weidmueller-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qJbJ0OAk3oVB+P5UCLmRwdFK5K3CbhLk/P+47QYtE7Y=; b=dpuBqXPwps03omQQWJm+R7NUY0qu/l91ngi3OYrShBFIJs3LfO+eRHMDMzBFyYlQuKCU8ldwtJGItOeIDv5Pyei5RVQedTN6rT6BQW6SPVREQlvk6ivLwWp3nK8WUFMjG8nOAEBFEM9CWw1CikYaDB+tv51k+4NjaZKveS/Bi24= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=weidmueller.com; Received: from PAXPR08MB6969.eurprd08.prod.outlook.com (2603:10a6:102:1d8::23) by AS8PR08MB6470.eurprd08.prod.outlook.com (2603:10a6:20b:33a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Thu, 1 Sep 2022 06:17:19 +0000 Received: from PAXPR08MB6969.eurprd08.prod.outlook.com ([fe80::f95b:2e64:9ee6:4d44]) by PAXPR08MB6969.eurprd08.prod.outlook.com ([fe80::f95b:2e64:9ee6:4d44%3]) with mapi id 15.20.5566.021; Thu, 1 Sep 2022 06:17:18 +0000 Message-ID: <119a2cfc-834f-8e4a-bf29-e6208cd2e33f@weidmueller.com> Date: Thu, 1 Sep 2022 08:17:17 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.13.0 Subject: Re: [PATCH v2 1/7] binman: bintool: move version check implementation into bintool class Content-Language: en-US To: Quentin Schulz Cc: sjg@chromium.org, alpernebiyasak@gmail.com, stefan.herbrechtsmeier@weidmueller.com, u-boot@lists.denx.de, Quentin Schulz References: <20220831173936.150114-1-foss+uboot@0leil.net> From: Stefan Herbrechtsmeier In-Reply-To: <20220831173936.150114-1-foss+uboot@0leil.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::7) To PAXPR08MB6969.eurprd08.prod.outlook.com (2603:10a6:102:1d8::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: af107ccf-3293-4817-d2bf-08da8be19f95 X-MS-TrafficTypeDiagnostic: AS8PR08MB6470:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fbRpculpbO88NAwib44DW41XYlBCUoO3rIaKkvk6PUnxc/btG6NUwaCOO/On+L5IdqXbYkGq5mm9NFWBlC0X7+26RzYcF9Jqz3CMDHk64FyHCq13WnClS1ydoanifcaNzOsdMagW/kw4aT45UxDUJKaf77G6aYlEF+7kO9JZZpNXA5f8HRyFlOYwgkSTHJm+hHPzauvuEPuwQLuBsOQVHkgJxjiIa614wcRmZAiKprkZ3Dy9a6uDL8eHHJA7RSLHBDUcHAqNRiRUmYkhhc1Ur+CQh78p1V+p9GN+N2Rkj9A2bdpCKruDqmRutKcVgk0ZMZIiNDtp0TlVnxLw++hbxikL7xyFdoqFbc2ewq534OH7ecnwRu0zeHQV7WwVSM4l/97t7HNHpU6/hVl7OlJZdHXfyj58Qj+5ZvoZsUD4owbYTgvZfowDJtzGEtzmWsFIhpxextP9QmSHFdhaiQBZVtSZvgvZiw6Zz+FthpGEebVCUWr+DxEBJsQfBukCZNJbCyI52WRet1Cde0EsMt8+JVMUu4h8Wb4Ndo5Aaa4ukGz0/XHwV68wMD8WQwVdkZoUGuGtqqB2AYi/pjFw6GNhuoRHjoW2lg6/nT6HHl+KnGmcxQHlD7bp3ztbeSDJXqCVzVb4VdGiC1/p21ueReaZ7RXRDold/9LrBeyL+M87JtIOYLu8Dcs1nxFlEfBgS18SUrHaSu0cRTU6OoykNM/e/dpg2OV3d6VOoB8aS4YiAQ/bVNvG4DnGR60yXEF9eXfqhUoU40RZ9H3LsZL4hxqbWwpD8v1bMGRreJoeqQinDsXAa/uQYnTjMi1nBcca/6Xt3Hvg6CKl3mw58pPGVzsrqw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR08MB6969.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(396003)(346002)(376002)(136003)(366004)(39860400002)(6486002)(66946007)(83380400001)(8676002)(478600001)(4326008)(52116002)(41300700001)(5660300002)(66476007)(66556008)(6506007)(186003)(8936002)(2616005)(38350700002)(38100700002)(31686004)(31696002)(2906002)(86362001)(6512007)(36756003)(26005)(316002)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?b3J1bVdZMyt4dGNvVXJHU3V2a2NXMXNwN1oreWJaT0NyNVMxZTZvTjR3YW9y?= =?utf-8?B?OExRTkU1d3Nrc0pWZjBYbG1Tdlc5WUdOcE1DU3htaUxVZmVVTnNqYWRoU21K?= =?utf-8?B?N25IaEdzSnFBQTM2UEo4SkkvbUVJMGY1TDh2WTdLMHV2UjNtaXd3cHdwSTk4?= =?utf-8?B?Y1V4TEFBUVE3MEMyQWVGTml6eko2WjE2TG9UbkNUclVQeE50eHVJbTZ4UXB1?= =?utf-8?B?NC9xRUxqYU1OSFdqMzZnaXhHL1BnVVVQZ25uWUxmMndCVVh2c2ZySDRGUi9n?= =?utf-8?B?SDZLbkdRU3ZyUE5JU2xqdk5qZHdtQ2g0ZU03STNkcTlIZVFPbkNDSGhyenVS?= =?utf-8?B?WGVGZDBIWTd2RkRlTHNsY1A1SE5NbWlJOVBNTVdLYW11dXdCN1Rzem9lZ0Np?= =?utf-8?B?NTFMTmhhSndzZnhqeFR6MXVhQVZsamNMd1d4enB5SWpuUkorMFE4WUtBZkRo?= =?utf-8?B?dVNrVDJQb016S0NWYmNaL2U4NUx4WG5rTlRxTWpEb2l3UEpzemhEV0FmZ0M0?= =?utf-8?B?NjlzejU4aDZPYU9pc2RsT0lnY3greG9HVWVTb3hOWVc4SUhtNzBzTFM2TUdG?= =?utf-8?B?UWJXTlp6ZVBVZlV1YkhuTFZhKzgrb0hxV3NZSjBDQllMMTFTVU1OSEFOWG5L?= =?utf-8?B?c2hPZGFnOVhzOXlLd1dhdk9rcU9OelR0ckRZZDk3c1ZmaEpTQ3NVUVpxU2lv?= =?utf-8?B?THo2SVIzcjlqZ3ZMdzY1b3hub1RxZThCTTFTUFk5UDFDUUVUYWhpNkZObzJD?= =?utf-8?B?UXNPSjlheVc1b1RyTWh3T2JCRURpbm9jSFFLNmxyVW1yUncyLzBMV2dPRy9F?= =?utf-8?B?S0U2L0Y5aUNEWXhwRVRxcmhBY0NIWUlwY1dWb0VySDJtcWFJeFNKN3NwQlNw?= =?utf-8?B?bjBRY3dvUEsyV1RnMWE2ckpnVU5teUZDY2hvWmd5TForTUY5dGV4T3JmMjY3?= =?utf-8?B?V28yTlpUSml4UXJuVDI0dHNzc09TWjR0ZXZJZEZjak84UDgyWFlXeWN1cXdk?= =?utf-8?B?K1cxT0RKTlltUkJnUVZSajJ0cTUwbUgzcGN4ZmxyenZoSVE4VHJ5WU43NkVB?= =?utf-8?B?SnhkNWhnT2hHQ2VIdWYrSERiKzlIdExqNHZZTWxiN2J4NlRTTXlzaXdzZEth?= =?utf-8?B?TjMra2FNQ1hBSEM5clJlUzdlWWw1eEtOU3JUZldUWlBubk9scGVLbHNhYjl4?= =?utf-8?B?RGx5bFJzV0g2RFBzSk42Y01YR3JaZzRtSVh0WGluL0NCS0ZHWmh5NGVXY1FO?= =?utf-8?B?Rk1wMTExQXBsMjdzaG5iazJQK1RXcFQ5MC9HKzI4UXU1bFlNT0RjV0pFVXdI?= =?utf-8?B?a1lUblVlcGVZT21BcUZ4N3dLU1Fhb1UvL05MbGFhTEltNHlYYmpoaXBWZTEz?= =?utf-8?B?ZHFNem1RS2RONVE1aTVrelZyZTJybWQ2cjZNcy9xRHdsbVNuakx4cHZJcEwx?= =?utf-8?B?cFJjcUhpU09NdEoyWkRZTEVkNVB6NGRlUGNweXRQUmdCOWF2QlFvMUZtUEYr?= =?utf-8?B?UE1qY2Rrc08yS3gyRUpRbFZFV2k1QThJVExpbm13ZDIwcGt0MStDT0lpSjk2?= =?utf-8?B?RGQ2MkZGNlJLMkp4YTcwVzNkZGlSMXo4TGc3MXlYUU0wSDRuaGhmak5PVFdU?= =?utf-8?B?REhKZ1FMSjZWbW54QmlSRndvWGV3MHlkR3k1NXBNUGF4RjVpR2hKM0sraFZu?= =?utf-8?B?Lzh1d1dyL1A4THVzWkJ6R29lNDc4S0lSekVvRkVMK2IzNEZyU3RrN3pVeUYy?= =?utf-8?B?d2NkZytWODhDZ0lMMEVFSStMWHBVdEhQV2ptRVdCZFFwaDVwaGd5a3RJY2FC?= =?utf-8?B?cHN2ekpYMFpVTzIrNjJXOTd1SGNHRjlvK1B2M0pQKzdacHo4ZmJ3VEFxTy9Z?= =?utf-8?B?YnY5QjVZcVEyejlReUlKNmxhai8vQjBxaVYySkdFMENhbkkwL3FSN3ZDZVFK?= =?utf-8?B?RFJaU0ttQ25jODZsYUJ4UmN2c3YyT1U3Szh4bUNqYU1aUm02MlYrREx1WHZn?= =?utf-8?B?MnRXVXk4RG0vWml0ME96UjNBa21zVkl3YWdtNGI0eUJ0MmFJQ0lKVi9oVVV5?= =?utf-8?B?UTg2dlVETUlUY3hxY0N4Um83WXpxWHIwQ05MU2NTM0FnWFFiUmlHcEg4bGZt?= =?utf-8?B?WEtGejdUV01YL1VSeFM4WmRLUm9ud1RmTlZDazV2Q2VXTGlFbXJNaHJBampF?= =?utf-8?B?Ymc9PQ==?= X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: af107ccf-3293-4817-d2bf-08da8be19f95 X-MS-Exchange-CrossTenant-AuthSource: PAXPR08MB6969.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Sep 2022 06:17:18.9051 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e4289438-1c5f-4c95-a51a-ee553b8b18ec X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xyH81LA5MB9xrkicFY+R0fdKZRWOTfeNXAG6GLA0PqIvWE9MyEmmkL1+ECWiCeMkENAekE85Sn33tcFA1hO01Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6470 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 Hi Quentin, Am 31.08.2022 um 19:39 schrieb Quentin Schulz: > 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 > --- > > added in v2 > > tools/binman/bintool.py | 46 ++++++++++++++++++----------------------- > 1 file changed, 20 insertions(+), 26 deletions(-) > > diff --git a/tools/binman/bintool.py b/tools/binman/bintool.py > index ec30ceff74..a156ffb550 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 > + """Version handler > > Returns: > - str: Version string for this bintool > + str: Version number > """ > - 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 Please remove the redundant self.version_regex assignment at the bottom of this function. > @@ -557,21 +569,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 Regards Stefan