From patchwork Fri Aug 19 14:25:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668175 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=) 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=E8OzwUoK; dkim-atps=neutral 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 4M8PJv11vhz1yg7 for ; Sat, 20 Aug 2022 00:29:19 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id CFC4A84C09; Fri, 19 Aug 2022 16:26:55 +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="E8OzwUoK"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 5D89A84B9A; Fri, 19 Aug 2022 16:26:21 +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-eopbgr150044.outbound.protection.outlook.com [40.107.15.44]) (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 7D99584BB0 for ; Fri, 19 Aug 2022 16:26:06 +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=VT0Y5yBZZC5t0WDVFYjSVx5Wh5BdAxmIV4w1+OmZf1qLXVxV0J4GSuU/cdIoRA+CEYKHoUraakk27asJloF+OQ30ANYmVg3ZWNjLCOlVaKMUva8JdKeEtL9M5Hls+quU2f9ikcU51wwRS3jYtjH33s8zEVaxXEHgi9HV0NmSaJUUR4uFvchUlUZ8RRaXiDmdJWhFjWe6aZLlIqlBRjwWlFGdDiRn9ypBva3vuh491QxbCywuDJAENhMb0slG5BD8syLYbx8GobLBpmQUmCZhZQKdq4J6x04EnfZrkgJlahyJ0Cwpk/88BEK1b8oKgr0LenTBwrNUMGVuM29yL9jQKQ== 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=/uAEgqbCsUD/5cGesLH8zz0Bws41pYRQCE1z3aHgoCg=; b=Hde2ybZ6u5vovk/E0TpcQOCrTda6a5L5nEzmJsT45SUwpmIcUkbCW6vXrbnQS2+YXbfpeNCRcpBSvlEzJ4ZLaRIPYkiSMntUEeBrXyW8tug6zi62XBH9B8sRI9Gy5dRkZHFSC1zCs35Khqd2km6MDBhw8n+CF/YYmaC/Cz78n4igzIuT9ZIKmbKa2vdaTWkg6eLxbLWaAVegR47Y4cwKP8wlH5Gl5nNmCif8RBfICjoFE9BB1pgeBk5qmKiJF2L/2w6YpiruofKNPf8Y/p2W4D0d+qjH6ZrJwG6z9tbsIraSJ2nHOjiQHbzpRaa0OXoeHG8+nRnqa+X2YcqeWU+SHw== 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=/uAEgqbCsUD/5cGesLH8zz0Bws41pYRQCE1z3aHgoCg=; b=E8OzwUoKEz5FKFlVs5xeaLRtWM+wbzdHDv1+UsSQuHji9f0E5Ckmcd4fb/JSIpDsNCzTjxduTWViEOi94gdgPpQ1/7iXAuOSLgh3kwNKIxm1ffxZ3ilMsunGB9BRJVkhr51oQw0NthTk91wp8VWevD2mtd0agErCzezLpBoFJrw= 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:05 +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:05 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Simon Glass Subject: [PATCH v6 19/21] binman: Add lzop bintool Date: Fri, 19 Aug 2022 16:25:36 +0200 Message-Id: <20220819142538.24847-20-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: 78d8d4c2-d710-447d-d69c-08da81eec052 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: YYU90SBc6k6jLzCW4Mt2U3wlAcsH0LuhAAXOxKnAsVXrdVTR2Iav+iTX2nqwNNG8DrOluDRdltKQDbbrkkiuVgRU0M5BtAi1W+EFebTi3eWRMndGRiIb90mkJkPCB4Gm0Xf4TB2ENnOhPP1vZy7q7vKNjH9q3jDwHf2lLl4zVFFjDKEL1MLxyEponCeJpwyv2az1ZwZzaB5DK5tsdjiG8pMGQx6XA+LqD0uqQWBgbVrshorOyBbDlQdVTXF3WklTbSsJmQ35YIa39SrZ7Pqs8poawphgbmEBdVLOdQUVUCrf2dE6fDowMksRPrht4g/yS8e7rBaOcnTXXbs3hvtn8HjPGPjzI90nujxHk1aZdqna1n/CAizE/g1zVRLxKg3o22KUc6vrRgS/DeK+MzaaTdi4jqsSED/Fmr7UYEyWSQt/bqchpy8mFwhERz8gUB7ZKUHLlyEXTZkoGC1XQPGcmZtod0l/jBA7pIWXHffuZQONCG0bThWPEHXMF4S06FUQuLXBWKYFk52OgbrEY26vXXEdb9yuzFsyllQ+FCBaisv7GaVp5GHMTgZ6N+xweKpJkZ7Di8UJpsCAVMYAhctQZOq+dDCupxDF9fBJAgJ7u1ICKug81GiQcmvdnYsyER2nYwzrsLi6Iq/2GtBqdbZwbUV/IbmnBEOKqw5LojATJnNtFJ138GiNPi7kAwt/6Y4ZoNi8ZEdK0jCagD2C2NON6RFpmmG4lLWKxEtrqj0Y7UqmYgDYZATYxlD/cFS8/Pds/1yTWjrnc3B3pam15Vxhng== 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?t+3symolmg/1lM8+w0srTAqFBldI?= =?utf-8?q?k+WxJP70a/6u/xyh4TBYmIFXWq3UqSNvBIlxxQzaffYnFHM28xXgxCwBDHNvtmGy1?= =?utf-8?q?JCgBfmKBH5IA5pSMubxHHSAdmpcSbWUBN1mUze5yjWpAC6YqcQpkIXe4a8eqAkMNl?= =?utf-8?q?XAeCYpEeAdB3oaT0G3uFY908u+nvHZTDWPIDCHWXbGUZoLiNvKi9RXLG7OI9qd9fr?= =?utf-8?q?8XB6SYKzhyJXVYGWDz/AExEZQOSrQAJ9EeQqfbbaGqEAmnXAK8ICGXXZI8B6Ul/jP?= =?utf-8?q?LsV7iLU0tn2G5ssTonM4gSRiAZJ19SXUJxWAktyvNstcMKeiLt7x/+t7ZCWzHd9jl?= =?utf-8?q?GiYCWV0fjW+6eVg6ps5qPbBiqQzfeUr0pxCVqQqyPJXlvYAEC2AhZhKheGwe9IaMb?= =?utf-8?q?EUQJF/vSE8dC7YsOzBdCnAOAC9ONMEUGEjo6Ei9Ion7z20lxmna3H9nzPV1i/SzwM?= =?utf-8?q?DGWKvpS/izXqh6CaWcRsf6M8bmHmfbd2ZvmdSWjoyd+cKXDVJjhnJA7/GpRumIr9O?= =?utf-8?q?Krr0v8uInMyNlCjepvGrgMM3vFBTyM1B7J+ca1hdK8gYty96jlfYAImTfeTtPWt04?= =?utf-8?q?PQT0c56TYtQcE8FHkrvdTFbTlKNnb5nlBquyIpLuzyuQEtm2ZaGxmeyjOMVdv2N9z?= =?utf-8?q?huPH2syXAzKDa/orYUwKeefP/7fhkzapbv6MPRAy3M92+pBBEBrG9bSLzLMZUU8CA?= =?utf-8?q?aoBhDFfs5yUFkNr4K/5jCfc9B04WJlTxPAdORqdmk1G3rIyA8JrGSMCUMMPotR2IX?= =?utf-8?q?DUv8u8QR5SU1ytrTf03P8byGZuS70yhhf7ZtZ1ZhhAFmxjBchnBrfMfiKmzQnsRkY?= =?utf-8?q?jEUpaucehiFi5xcN58OLKJdV329kLG8q0BHGzbgY7RUQRMGDeIXJBPI349CFVqwdY?= =?utf-8?q?YttxhnBY/ba0VZ0u0OUsggZOrJeqw/pFHzxduZQG8VWbDERDHDycGhIhfefEPLnr2?= =?utf-8?q?KMfZqfvSeJyZG89QcD2QlvrV/+GUdzxQWuGZRkYmNa7+8VJpL6l+72Lj05yNNUR45?= =?utf-8?q?S8Ne0GPzlpWRLEyIefANgl/ixDJokTZH59uE71XSNNZ+yK29Qq3yLvn70vFV8acua?= =?utf-8?q?8NToRSOvU927oyb5u1axPIxh7GccXgoi0F0wI24APgUZ5Xmbnp05kFgzximiO+kl9?= =?utf-8?q?tECewVplSvIO96FBxxLF+kO1b/wJeOGui+CW9qnsveCaGp5CfzvOpaem9kTZvNFwP?= =?utf-8?q?JtUh/c0quk8pj3hBYPIhLg/p66bCqfWf9ThBMOaK26o1n1KWK/jR66Ac/+bsFg01f?= =?utf-8?q?EcilYNy4BdG/yhKOOCn8TbXz/JLhGf8o8RTOZGn/ZyP6pbOleSvgFtvOT5zVb9Wf+?= =?utf-8?q?Hzs0Hi7bZEGkshf4SNHroG/OXG4Zb22je4M0oJ3f3Tgr6hhfMGyZHQHK7C/x+bhpL?= =?utf-8?q?t6zX1jDdLS8q2aKj/0v97Jf2TUweVHK3NdZpA63ISvzt/ME0D+QRt3z4+ebCO44G0?= =?utf-8?q?Clc9i0u3N13PtC1wQ6JI9YJKt31hoSCkKp3aIR/z6spzAZFPVIxUIok5hhoCKnUSV?= =?utf-8?q?I+0vROpPFS/6czsTYa/XZ8ZsIMnDdr35+w=3D=3D?= X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 78d8d4c2-d710-447d-d69c-08da81eec052 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:05.6137 (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: /9BqMG3uMJvtxRuqpTpJpcoEN+cLYqWe2GJuxBrNW79CxAeZSOt2VypDJnBnFukJKFC9nl/kitdMRbVX8pflww== 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 lzop 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 entry.py and ftest.py Changes in v2: - Add commit to add lzop bintool tools/binman/btool/lzop.py | 30 ++++++++++++++++++++++++++++++ tools/binman/entry.py | 4 ++-- tools/binman/ftest.py | 2 +- 3 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 tools/binman/btool/lzop.py diff --git a/tools/binman/btool/lzop.py b/tools/binman/btool/lzop.py new file mode 100644 index 0000000000..f6903b4db7 --- /dev/null +++ b/tools/binman/btool/lzop.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 lzop + +lzop allows compression and decompression of files. + +Documentation is available via:: + + man lzop +""" + +from binman import bintool + +# pylint: disable=C0103 +class Bintoollzop(bintool.BintoolPacker): + """Compression/decompression using the lzop algorithm + + This bintool supports running `lzop` 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 lzop + """ + def __init__(self, name): + super().__init__(name, 'lzo', compress_args=[]) diff --git a/tools/binman/entry.py b/tools/binman/entry.py index 930c7910d2..0a410971d8 100644 --- a/tools/binman/entry.py +++ b/tools/binman/entry.py @@ -1157,10 +1157,10 @@ features to produce new behaviours. """ algo = self.compress if algo != 'none': - algos = ['bzip2', 'gzip', 'lz4', 'lzma'] + algos = ['bzip2', 'gzip', 'lz4', 'lzma', 'lzo'] if algo not in algos: raise ValueError("Unknown algorithm '%s'" % algo) - names = {'lzma': 'lzma_alone'} + names = {'lzma': 'lzma_alone', 'lzo': 'lzop'} name = names.get(self.compress, self.compress) self.comp_bintool = self.AddBintool(btools, name) diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index 911c955cba..2cac505d8b 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 = ['bzip2', 'gzip', 'lz4', 'lzma_alone'] +COMP_BINTOOLS = ['bzip2', 'gzip', 'lz4', 'lzma_alone', 'lzop'] class TestFunctional(unittest.TestCase): """Functional tests for binman