From patchwork Fri Aug 19 14:25:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668173 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=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-weidmueller-onmicrosoft-com header.b=qS4t/7PL; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (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 4M8PJT0s8Bz1yg7 for ; Sat, 20 Aug 2022 00:28:57 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 3BA4384BEC; Fri, 19 Aug 2022 16:26:48 +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="qS4t/7PL"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 0B4F484BC3; Fri, 19 Aug 2022 16:26:19 +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,DKIM_SIGNED, DKIM_VALID,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150075.outbound.protection.outlook.com [40.107.15.75]) (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 9918084BA1 for ; Fri, 19 Aug 2022 16:26:05 +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=lXDH4fIDg2hgGdGEoRkNYlneF1aHA5WRnLcaUN3b/wuFO3MUPYz3N3Kd67R32+YOIDknzuvdxGJF9De+IEA48i1ctvw15c03AFQHYTyxjYtz32HiD9cAKEkCui8hCkzpkq4oqesAiZ9cdYgI6idqbCMma+t4Fg0G+9jGUObmXhP+oHJ/czAwB1MPiIvoRrm58zxT7SoCSDAdZ5hqfm5swUf/4zw/zSadxCoEWbYbvJOxq4F2sdVANNGYIwggsWSJvLWfJe2xQOlC7+aZOsnaX/1gYTJ1akl2zO5VYghCMhv8lCGW5jQ8WznHAjA6pJYwfTjqy+tAPToUwPxVLKQkMg== 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=KcqBl+Lby1W6GkAdCCS1qvBhBtQR1odd4X/g+3r0B18=; b=AenXgHkgjgwWsm9MRL/qY/A9NURSyHl63+KaLz+xoAP8Yq7c/ZWzrgE6PtQILO6pZ5MAQJjwmhiYa7Wz6ruRV/OFojt9Nt8Gk9mfjcQexaW34pL/yr4ylS97wkXRL7QPJbEr/sMj2cbN3D980qrcEFPw4q5Mnaz4MaQS6N7MCBjjrTht1ds4J1MMZPUrEEnFc37FBELb8qcu2ciyCms8dyCUlqom9CYAkwZ+/clLgMSad7m2uauvPmL0gbRo2Di4WZoLWPlFNd4u9UyvLauDslD0n1Xjq7U+AqTxbRmTnM5JR/TUBG626O3IN/bfiQ2MA8l1vLGwRKlVPL5j9AkELA== 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=KcqBl+Lby1W6GkAdCCS1qvBhBtQR1odd4X/g+3r0B18=; b=qS4t/7PLA20XHDwraExql8ciF9qFMOdsbINkpnSbI1Lp21UyvNcKATceK9Z1FXKjaoQ876mJdmfvCwEMiexLmxywkDbjRbL7KrrH6GGgve4yoFO+nAqneyZwxZbawd7SabVJWDosxzBZh90e7GJ54Wn/uw4sp1cc3ZmlKqe6JRI= 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 PR3PR08MB5739.eurprd08.prod.outlook.com (2603:10a6:102:8e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Fri, 19 Aug 2022 14:26:04 +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.5546.018; Fri, 19 Aug 2022 14:26:04 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Simon Glass Subject: [PATCH v6 17/21] binman: Add bzip2 bintool Date: Fri, 19 Aug 2022 16:25:34 +0200 Message-Id: <20220819142538.24847-18-stefan.herbrechtsmeier-oss@weidmueller.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220819142538.24847-1-stefan.herbrechtsmeier-oss@weidmueller.com> References: <20220819142538.24847-1-stefan.herbrechtsmeier-oss@weidmueller.com> X-ClientProxiedBy: AS4PR10CA0015.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:5dc::11) 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: aa7b0cdd-8bb1-4d69-eb8b-08da81eebfd1 X-MS-TrafficTypeDiagnostic: PR3PR08MB5739:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ha2QtrHo/7LzAhqJraUYOgRa01TgvsXvJU0vCtpfTPlbeb7/LT7wAMyN9BHYhlzhxzq6FKwtte1uPWgkPdb4VTL2IGc6W4v7i6u8lP1bNtI9mPX+xBeXk7tL209e14eviSrYY/gvMzzEajVtR2ig+CzDwcnZAwA35yQTpis9f7tKJlX2HcvaqY/j29SNZ1QNcMFT3Y4806nJ49zJ5axbJdK5S4vT5/S1aAztc+BykLgunPovi4Wp7x/Bu7kTCKgS81CoJ/0ke8slMFBKX2+qmLbNzqH2Y9z7ifhjNqj4ieTIZd5yUKwnv0XLTnOTScbXtXhlEiAL2LqJR/faQHXyCyZRbTDuoKmxQVLqjPHZdHm/7o9vQ/OGoIbeyPvanD8TKWXfhv/P4o0nqoC5Vyc8Vf/Cfvl9wwuCFhrPdWgH2mc5O1lC2CCClZAfLgt8TWqV88q3JGdPaVKzTopm5D5yc73haVAtPXXtFSknnCf3n5fTrmjo/TRAr1xrA0DDmrXmYg/UrqVOyqIoUvqxeusC/IUDKuMmCwFN890kIGva++ztBydWby8z+1eHHtiGwXhTDortzqm2lnd20rHTubBVVDQ3FZGnWoNmx6TVmh5kWOMEPbsCb9beVKHY36vrLuqUWe29y6dHxe/bKoqqhaIPgNPkSavjDKKvp9ioe1DZLePcbIbvp0b4dtJHEl+odKZvSh9mEpuRb/J1+47myKVCTA3/peciDkdOA57FakDvtCvIg/tTq4AVyEHTVdXe9gJq4Wy3o+XhKO5p59UG+Cm64Q== 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)(366004)(376002)(136003)(346002)(39860400002)(4326008)(8676002)(66476007)(66946007)(66556008)(54906003)(316002)(6916009)(36756003)(5660300002)(8936002)(2906002)(478600001)(6486002)(41300700001)(6506007)(6666004)(6512007)(26005)(52116002)(2616005)(86362001)(1076003)(38350700002)(38100700002)(83380400001)(186003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?2WTQUZAbYiQc8iSmoHT3QC+mWL+F?= =?utf-8?q?8ZrT9fUrX+LN3rSDQU4enb8gnmKiQd+AkFbs/zoOyHSPx3HlheC2SetC8OHUlmJWm?= =?utf-8?q?ySPMysrp2+tN1VnDr5cbQMBWkEO9HNPgaDcmA4CJM01X/VOw7Vr7l8rbZI5ht2wMu?= =?utf-8?q?/gNWPtmkZrR34XdBXRMX16gaUpdC3lx4xaZsJRD/hsayFQCzNKZ1NgK/Pj4DLV258?= =?utf-8?q?n0xkCMdibheri71Dd3i1im3MyxFBcHqe2flXgOLvgpc2uy/MtfSDZRCLX4FjwukGG?= =?utf-8?q?IhG7Z1pq1lf5p29bdkGg+hGrerEC0hncRQbrN/5uq1Bg9TXdTSRR1m6JQvB1apVNl?= =?utf-8?q?4Z+6gmV4MeOg/SeTD9M44XC0J1zbW8vKcC+F+iWsw0Q6IuAMYz3p088TabUAyTZdK?= =?utf-8?q?IQ2H/THrXhC624cYWFIebAmw6gonmhh3aH24b3ixEWKvia9uNWXwG33mu6TK8GSBV?= =?utf-8?q?UUtczpWTgcqqN9HsOaY5XLlN2UhEX2s9f3NVJTCsBi0nEVeHwEPlk5EG+ll53dDDm?= =?utf-8?q?TPxZMqGkPjTNC/XYdOLRC8r18SPH+EvGIbfSKBgu2BfaPJ+xY8EpG3gsGF+NIeqyu?= =?utf-8?q?c+HlYfpVp7uDBE7c0AfN8zLq1vCHrQwK3s4xu4sPTg8MobDABRd3K8teynaAfDCSd?= =?utf-8?q?Ey+tMFthxgxu5DaCICiJXTfecQADgnOgp8fOTSJpVFv+76W3aRhIlmnezjhvywWN2?= =?utf-8?q?kkGfTxUL78ob/1w86thg4yc8ZAVGId4QTdhW8+Abe2ePeACHK6B8BQg0IiIIaAAaT?= =?utf-8?q?0P8ZRkXcnKcWl/fPLPufNUThEMVHHWVSJJpJTRI+GkMKNfPHLgTyStyXVT8QmoC7U?= =?utf-8?q?43GitkaXv0eoFf+NxS+kSgaQGoxqOK+1cfvc+C1jfRLjmt6ttzQknkjF9HbUZbJis?= =?utf-8?q?J03z266V5nAS/w2ldhWzATWFh4URdG+aXwnmWOjya1Q2NGgnQ4BoK+1XgAWGXBBNF?= =?utf-8?q?efxlaEv/CkbxPBXkGBO1yDVODoTp0j9q0FWhl3o3Mx+xEbMjOcQcWbcAKTIvjDMwu?= =?utf-8?q?XuMiDDQ7NgNST4N6Z0c8my0dOz9laREZLcvuK1ZlO1F2mWwNV8TQU7n/ZFGQqeVI3?= =?utf-8?q?dug8zYg0hRdvOal14xLx27tnoBRwfRSJh4LxxTIYoA5i64+P4/OqnDefoV0HBiE4k?= =?utf-8?q?xfMEZp8fcgV6VDOixAttLIMCgSdqfqnc8kqsJXZGWHDOO7MjwFAT92CaPBK/wOxTK?= =?utf-8?q?cOX4MdSsaPsJfPrfV51hwqwneCPwPYSE9aN0/bD6MF/st1N6nmqO741N7vGB1HO4J?= =?utf-8?q?mY5mrdokJ7fWvl86Odn8fPzkfgdnvqhXITIf0NUPdttybvK/kMm6WcWU0anlzPEb2?= =?utf-8?q?E3wGxKFxSHjd9jB43xlCGgJF7kSoke3BWY+4u3byjOA7dqfCnewLJ/2ueJWBMNM2X?= =?utf-8?q?qS1W/cxND66V981gRhhbAoa3GuhwWdTp7Q640bZHN4oeItxFA2KkSe79PYDxQi2SD?= =?utf-8?q?zBvvwt6cucKAnC3Dvxf0KK5mzPfD38IDK1f5ym8cLrPAmZb+Pb4JaSkXaW69ewop4?= =?utf-8?q?9E5xLogBKyZw+E+yz/GoS2EWpN32zkYQVQ=3D=3D?= X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: aa7b0cdd-8bb1-4d69-eb8b-08da81eebfd1 X-MS-Exchange-CrossTenant-AuthSource: PAXPR08MB6969.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 14:26:04.7688 (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: 7sponHEz8wbJrjQsKu1Ado9O88NZhrxN4u34v9nbUndNxy36We/DbxUptNpPV7TRSehA2UPZDGVDfjpstufviQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5739 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: Stefan Herbrechtsmeier Add bzip2 bintool to binman to support on-the-fly compression. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- (no changes since v5) Changes in v5: - Add algorithm name to entry.py - Add tool name to ftest.py Changes in v2: - Add commit to add bzip2 bintool tools/binman/btool/bzip2.py | 30 ++++++++++++++++++++++++++++++ tools/binman/entry.py | 2 +- tools/binman/ftest.py | 2 +- 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 tools/binman/btool/bzip2.py diff --git a/tools/binman/btool/bzip2.py b/tools/binman/btool/bzip2.py new file mode 100644 index 0000000000..9be87a621f --- /dev/null +++ b/tools/binman/btool/bzip2.py @@ -0,0 +1,30 @@ +# SPDX-License-Identifier: GPL-2.0+ +# Copyright (C) 2022 Weidmüller Interface GmbH & Co. KG +# Stefan Herbrechtsmeier +# +"""Bintool implementation for bzip2 + +bzip2 allows compression and decompression of files. + +Documentation is available via:: + + man bzip2 +""" + +from binman import bintool + +# pylint: disable=C0103 +class Bintoolbzip2(bintool.BintoolPacker): + """Compression/decompression using the bzip2 algorithm + + This bintool supports running `bzip2` to compress and decompress data, as + used by binman. + + It is also possible to fetch the tool, which uses `apt` to install it. + + Documentation is available via:: + + man bzip2 + """ + def __init__(self, name): + super().__init__(name, version_regex=r'bzip2.*Version ([0-9.]+)') diff --git a/tools/binman/entry.py b/tools/binman/entry.py index 48883bac3a..a0c0a02f5d 100644 --- a/tools/binman/entry.py +++ b/tools/binman/entry.py @@ -1157,7 +1157,7 @@ features to produce new behaviours. """ algo = self.compress if algo != 'none': - algos = ['lz4', 'lzma'] + algos = ['bzip2', 'lz4', 'lzma'] if algo not in algos: raise ValueError("Unknown algorithm '%s'" % algo) names = {'lzma': 'lzma_alone'} diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index bbb2fa19c1..9fa8e9e049 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -107,7 +107,7 @@ BASE_DTB_PROPS = ['offset', 'size', 'image-pos'] REPACK_DTB_PROPS = ['orig-offset', 'orig-size'] # Supported compression bintools -COMP_BINTOOLS = ['lz4', 'lzma_alone'] +COMP_BINTOOLS = ['bzip2', 'lz4', 'lzma_alone'] class TestFunctional(unittest.TestCase): """Functional tests for binman