From patchwork Fri Aug 19 14:25:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668164 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=ag6nheUH; 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 4M8PGj4Dx9z1yg7 for ; Sat, 20 Aug 2022 00:27:25 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1E66184B5D; Fri, 19 Aug 2022 16:26:28 +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="ag6nheUH"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6AC3484BB5; Fri, 19 Aug 2022 16:26:09 +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-HE1-obe.outbound.protection.outlook.com (mail-eopbgr130079.outbound.protection.outlook.com [40.107.13.79]) (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 4276784B7E for ; Fri, 19 Aug 2022 16:26:01 +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=aMM9q3oQ+zTl3KHBrld9r6W1bSmwt0RA+IkxMlNkgItLLRM5cxpmJnaZaj9rZn5Hc0UBbQN3vi7bdn383GNniEMjw6mbQo/u3rERXztCZu8JLBFU71w2AyFpzWQ6R4z+Pa6R+jBDuonGXIZIunQECbAVSQiyE0dv/P1z++rMT+xpRmC8Yoth6Evh+XxqxUqZaOUJD7OE50BbOVdnF1Dht+bXHYzk7dOhoFwZ6zHmg1HuTqiSvdXVr2zL6LH2pKkwu90oIQg3GPsIWVbt5ypf/KzBPbT+HVJ1KLYbEx3KXJWsFpYzaHCPNu3N2cPo4bkcStZc4n9G1kifVJsl8S1bCw== 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=c3pHTbqiSrrXubSb4Bj8JmnJdG0xquJv3R7gL88cO0s=; b=QBF/Wio0YxAZHJO6GV8R+E/0qTHIi1sAC3tFKOmr8uvNl8ZULzDKCAEPQ9jvHXRFEnZ5Iaq6RHPsOU1ELo9Zr1BGDr3G+BogvFbpFv7p3kGelDn6lobeXpuBMPlOSDLuey86YsCmmZ/M3oQcGAFXvKHDIX2UaaKGd458chNY+gfmQMw0TRxoEsMmrJjrs7+d1B89lcC+ku+6OSrQyBG+omTWHvyaVFqvmM4PKhPIzWG9jv1HWPIeJySoa30iVH9MWG/OdIVO/EuP/plsd5bs3W8E6v8i0zcIuClrhWndNvWIQT7vDXZVWxdUEq9FUae2cV3KZ0jkGPYqnDogKh2VPQ== 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=c3pHTbqiSrrXubSb4Bj8JmnJdG0xquJv3R7gL88cO0s=; b=ag6nheUHrN/afiwXcIjMjxRtVVz22dVijPlhqjBvmavNpmjD69joi4t7ATgI0orASCRDZjCNu8gsyE3tdOmqyxbbEjzyl0W2C897Aq4q8UbfV4ge7Q17phMzgkHj9Bd5yFL9eT+DQ248PpTp3jMP1AJgnK5BlOtoncjHoNh1n7g= 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 AS8PR08MB6855.eurprd08.prod.outlook.com (2603:10a6:20b:398::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Fri, 19 Aug 2022 14:25:57 +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:25:57 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Simon Glass , Alper Nebi Yasak Subject: [PATCH v6 01/21] binman: Skip elf tests if python elftools is not available Date: Fri, 19 Aug 2022 16:25:18 +0200 Message-Id: <20220819142538.24847-2-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: 2d9f6160-fca9-4765-9179-08da81eebb8d X-MS-TrafficTypeDiagnostic: AS8PR08MB6855:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CWdsDcX6DncobmjAHZoMd90cGk/b7YrPs6Sc0RKegVGeoznVdhnIbdhfZxJezW4bZPxWpOJlA2Kq3juDud41mVV0iWhWxXULyvwbgCO6SJUGG2GL97SuS6JARMG+e6YBgqUqe8dUELd2FTwbepkUggRb2cyi6gKa9sg/maUumB5ibDUgorB7AZ45nYpMgy/Rbkla46YO8wcgWAQhgWeHdfbKDb4lbOD8A4KhSeQTrGhXYqY15gJNNfjf6Eey9KiNsX6tfVZEVU/Rta4IAhn0FGhOxinq+xGP0b4VmZNTYUAOEOKRc2xqP61v9LZKlIqqIZRifmZtLdDfdHiFhKC9/V8hHm0Mk25pQ4dWP/CiPShfURjiqRLj02sWcc1g3DoqfQlL7goL/ifqywwhr4krhJTh4iR1FFFRVCjD9yuhnpejyFNGSMndZAi0Evx0R1wIkf371bz+MeajsEMMYlfBIu7lAzQzU23w7rdU9ALlcl3ToRSjq17Y+YI1kWYSkL4rD9oi5VaB0TDw+FEzUXmFDUoFpnJJZyv8WA+qCoZeIhu8cBIH9GUoCDAGHMPz8UpvpSW1LZmVI7r68fTENHgXIP4Bs+/6l45YeitxyFmxC6T6mT8Rr1imFE29olH3c/jSQyEsePn0fO/b+ue4vXP94NqK+DT4PMqDYYsS+khInpyJ3R9kZQLEYd0eqpZpgQlmyu1yZTO1tAxXJ15qpv8LL6VVQ8oS7ssVgEC2ld6xKgvkDTrKYM/m0swFegxBtbCX1wl32J8eBOoIzy9OPEcTdHOJeTk+fuPAsUkWrl0Lhhs= 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)(366004)(396003)(376002)(39860400002)(136003)(346002)(6512007)(6506007)(52116002)(2616005)(2906002)(8936002)(5660300002)(6666004)(478600001)(41300700001)(26005)(186003)(38350700002)(1076003)(38100700002)(54906003)(86362001)(83380400001)(6916009)(36756003)(4326008)(8676002)(66946007)(66476007)(66556008)(6486002)(316002)(21314003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RpuY9spSBNLtCJwHaP9P+6gLJY7cOV9/zLXc9lZviZjsFpOVgW+NO8eQItSJoZlM4xBg95Kxj9co66EBYJFAz5j97rXTaYFPpGalRY/yjW5V3Ft4Tc/ah2fzrTpy1OiRZyNPqk6xVBcgdP7jqtPTWKVhjAN7s/YTdo6Sc323ylThAiqDbBKwtwSCtgYqoQ3J5KY/XA+SiFz6QTW2oLiaKPFghoFcNFTfM7Lo3g156P3CTulBflSqDZ71e+6IzJoGhIjgfJFeFZO95Tya3Vexi0Jagcev3YtjU1Ac+mW92vkkxR1xuzZhx1+Dt8wz5fvceeSClBcNAbHMLzvBbv6saEeUCp1euPpImZ5YfWBDE2dQfj+Ibl7io9ZGQ4po4XziYR8WHd6xcdlx9/nDfLmTqJBqWhV9EfkvCgW52ybdqtLaALrHp0uiLroEw29FESEx7YU1szQg/kiRZqSE5qUOX+3aMMurwZuXkFReCNsNefIAfjntlQzKwm2X+/LGafMcfynWrHMNi/rUdLeQ4ooekFrUCZZ/C34JQSQ0Jv56Fl7hebeWjR/piOUWll9HD8c1+Ar4R4h4NpE43ThOe7jU031iuuVPRl4ZTcTTPZi/nyVkFtUyKzQtFFdZhiZ9DWW/N9qYP/ivP8oJjKbNoTaw7K//MBprW80mJ4HIfsHVCybAVPTs0a/HDQX66lVwd49qKQL+s2JcoC4SqR8pZKKo/JdqG+d2fThZYgQL8XZ2HG2J8FL27lHptPXMkmgodTD72ahT8Ff5xIh3MhYsiRrZouvvVZCB1g7VTGkqIdtl8a5TGlyk5dZPCFvgvd9+iYGHpFrvR8TA9ie97XEq2iq5flf+eHvcRnOZ6LSYr+pOPxTYb1yScKc4aliplSqmTsmhFDykDocuVIbgb5nQVh5r+4og6tT+7loxXg69SiBb9SWS4Tq0lZMgdMAF3D7FHg2fygUpacSUqe5wAUmWOv1EtrDNeFbSYcouC8H44fK5tYhANtjFrmPQenJMTJlk98E2RfB0gTO0WJfRV8eFFqfbUk3aWdbveV6ksl9mE4Oa2MjW2HYIevz6CIdhClMy+0Yc+hOwIXjK4urEIGOkhnQetiJtl5mLPRWvPixyhtBeMwftseDdoJEgy7Gb/+AHlaXv3YCZYoHQkjudEt2EEK1veoP9iDM9ReTy2/B7AiTlDLNjqTmyi1P28D0qYbjC14YRQORAARlF2FrDdLH18ukYjp0yKJjquzNfu9rRqvtIJBgtYrVw2e1xROeQFdlO35WQ+CN6hcTLMT3MLmHGHPOmOB175NnlGnwM54ZztzjsDmeeLWE8+lHbf41FS+1K6e+fs5ZMlAoPLeuPE7t+hrBY3txA1gA/uyVqDz+7bDcLvcDW/HU9NPTZEhKtZPlCZD7fTIQcAjovJ0xCu+Jk/zBx7B42VFU5U2k+0nZu3Ac3WexZwY8EK9yUrhJ7A47YoJ64H/L+m4Iu6vvNdoplvZb0pIUWVp/L5Ob4S4UPxr7Sw987ObzxkR9P+mYbx8FKK0VI+tXCaIFnHMRrBqXgmERZdANg9bJENknREPAHRAtTUf+x7ujfm22y3H4CJp6+uzekfcX+ddr2ZmLBX/GT+QQdHw== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2d9f6160-fca9-4765-9179-08da81eebb8d 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:25:57.6257 (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: Em3KHSHPM62C7jdCU9A9nY/IHkTyiE68azLZB6RlZ2ElUqbNIbZCXWFUul4ZaP3/2NGQA5rpmGldcFJIdBJZ8w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6855 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 Skip tests which requires python elftools if the tool is not available. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass --- (no changes since v2) Changes in v2: - Add commit to skip elf tests tools/binman/elf_test.py | 14 ++++++++++++++ tools/binman/ftest.py | 18 ++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/tools/binman/elf_test.py b/tools/binman/elf_test.py index 5a51c64cfe..75b867c2be 100644 --- a/tools/binman/elf_test.py +++ b/tools/binman/elf_test.py @@ -122,6 +122,8 @@ class TestElf(unittest.TestCase): def testOutsideFile(self): """Test a symbol which extends outside the entry area is detected""" + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') entry = FakeEntry(10) section = FakeSection() elf_fname = self.ElfTestFile('u_boot_binman_syms') @@ -147,6 +149,8 @@ class TestElf(unittest.TestCase): Only 32 and 64 bits are supported, since we need to store an offset into the image. """ + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') entry = FakeEntry(10) section = FakeSection() elf_fname =self.ElfTestFile('u_boot_binman_syms_size') @@ -161,6 +165,8 @@ class TestElf(unittest.TestCase): This should produce -1 values for all thress symbols, taking up the first 16 bytes of the image. """ + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') entry = FakeEntry(28) section = FakeSection(sym_value=None) elf_fname = self.ElfTestFile('u_boot_binman_syms') @@ -172,6 +178,8 @@ class TestElf(unittest.TestCase): def testDebug(self): """Check that enabling debug in the elf module produced debug output""" + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') try: tout.init(tout.DEBUG) entry = FakeEntry(24) @@ -281,6 +289,8 @@ class TestElf(unittest.TestCase): def test_read_segments_bad_data(self): """Test for read_loadable_segments() with an invalid ELF file""" + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') fname = self.ElfTestFile('embed_data') with self.assertRaises(ValueError) as e: elf.read_loadable_segments(tools.get_bytes(100, 100)) @@ -288,6 +298,8 @@ class TestElf(unittest.TestCase): def test_get_file_offset(self): """Test GetFileOffset() gives the correct file offset for a symbol""" + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') fname = self.ElfTestFile('embed_data') syms = elf.GetSymbols(fname, ['embed']) addr = syms['embed'].address @@ -314,6 +326,8 @@ class TestElf(unittest.TestCase): def test_get_symbol_from_address(self): """Test GetSymbolFromAddress()""" + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') fname = self.ElfTestFile('elf_sections') sym_name = 'calculate' syms = elf.GetSymbols(fname, [sym_name]) diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index fa1f421c05..da9aa9e679 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -4807,6 +4807,8 @@ class TestFunctional(unittest.TestCase): def testUpdateFdtInElf(self): """Test that we can update the devicetree in an ELF file""" + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') infile = elf_fname = self.ElfTestFile('u_boot_binman_embed') outfile = os.path.join(self._indir, 'u-boot.out') begin_sym = 'dtb_embed_begin' @@ -4858,6 +4860,8 @@ class TestFunctional(unittest.TestCase): def testUpdateFdtInElfNoSyms(self): """Test that missing symbols are detected with --update-fdt-in-elf""" + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') infile = elf_fname = self.ElfTestFile('u_boot_binman_embed') outfile = '' begin_sym = 'wrong_begin' @@ -4871,6 +4875,8 @@ class TestFunctional(unittest.TestCase): def testUpdateFdtInElfTooSmall(self): """Test that an over-large dtb is detected with --update-fdt-in-elf""" + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') infile = elf_fname = self.ElfTestFile('u_boot_binman_embed_sm') outfile = os.path.join(self._indir, 'u-boot.out') begin_sym = 'dtb_embed_begin' @@ -5344,6 +5350,8 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testFitSplitElf(self): """Test an image with an FIT with an split-elf operation""" + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') entry_args = { 'of-list': 'test-fdt1 test-fdt2', 'default-dt': 'test-fdt2', @@ -5421,6 +5429,8 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testFitSplitElfBadElf(self): """Test a FIT split-elf operation with an invalid ELF file""" + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') TestFunctional._MakeInputFile('bad.elf', tools.get_bytes(100, 100)) entry_args = { 'of-list': 'test-fdt1 test-fdt2', @@ -5440,6 +5450,8 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testFitSplitElfBadDirective(self): """Test a FIT split-elf invalid fit,xxx directive in an image node""" + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') err = self._check_bad_fit('227_fit_bad_dir.dts') self.assertIn( "Node '/binman/fit': subnode 'images/@atf-SEQ': Unknown directive 'fit,something'", @@ -5447,6 +5459,8 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testFitSplitElfBadDirectiveConfig(self): """Test a FIT split-elf with invalid fit,xxx directive in config""" + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') err = self._check_bad_fit('228_fit_bad_dir_config.dts') self.assertEqual( "Node '/binman/fit': subnode 'configurations/@config-SEQ': Unknown directive 'fit,config'", @@ -5470,6 +5484,8 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testFitSplitElfMissing(self): """Test an split-elf FIT with a missing ELF file""" + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') err = self.checkFitSplitElf(allow_missing=True) self.assertRegex( err, @@ -5477,6 +5493,8 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testFitSplitElfFaked(self): """Test an split-elf FIT with faked ELF file""" + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') err = self.checkFitSplitElf(allow_missing=True, allow_fake_blobs=True) self.assertRegex( err, From patchwork Fri Aug 19 14:25:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668157 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=eG4tObR4; 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 4M8PFF6P4yz1yg7 for ; Sat, 20 Aug 2022 00:26:09 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 693A784B93; Fri, 19 Aug 2022 16:26:04 +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="eG4tObR4"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 5B57D84B81; Fri, 19 Aug 2022 16:26: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,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 EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2043.outbound.protection.outlook.com [40.107.20.43]) (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 7754584B45 for ; Fri, 19 Aug 2022 16:25:59 +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=Wj+xjMbs+wXZlfgKjPfzR9zw6vojuthxq7imUPSrXXJbKyZYEH3yhFDy5WKaJQ66AnhGU2a+VrbVrAYxbsTP3isHZrLo9pLN36YGOR4fFLEaEX7lMGzkjB+IrjngxOdU1f+4X2jbRWAP3UBLTV/C3BGIwCd6ndz6iEeftBLocxB8266DalWSPPE13SrWSLfVcm3QELgp9kxrr+XxIRElKdKZ2YMexlgzKpyZ11LxIL5/ga0TN9LJQI9zXivq8OI5fKJ81NcLWIuHde+3jVWcvKsm64vTvPKaKorLWRIp6hn2kCoujOWYFDkClmoSESnwW0ZB2YSaiMLOPrIWMGRCnQ== 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=YKOAdV/goLAacRq7hWtc9oRlt0n7PS5IBbDRgs+7daw=; b=MuHJodTRLoT/TVr1/VD1jhSy5R+QKbXfwbj78AYTrJzlLMqCqUq0CGbS64lZy96fdAzHGGY42837mQQXKD50AYT8/krCWxHW8Evk3MBvvO522rQUV49C4On+kPXa2j8M/pVORic40lzYWZae49YNSgJ7pTJBilM8D3usVf3k9jIDZgCzQ+gs9EslbHzNLubcRuIlFcezH3XylTo+k0DOJ+Wd77QStG2b23jS7FEbwWCw0osfixftmQYSoGJRpuTum+r+hsuKdPX6bbAvCQdvJi9cTFjhkSKlmwajpbPl3cpKzqNREsKxF/ASZzup0WZh82FdCpb3Fdw3/dOTTSfrFA== 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=YKOAdV/goLAacRq7hWtc9oRlt0n7PS5IBbDRgs+7daw=; b=eG4tObR4jlf41eSUK2klUb4guV+ID0BmMI95qaVXkyzc4tBGSrujH3PO2fCMJSujb6XHIZgbxgQqiGlEBtf7h7vl985mnIsMtvOIPHdPVINkoCeI6/lAt7EreznwwM+TDok9NQMN7jePtzoD9NlDMeXcwGzce1vwQ8MQcanFEvw= 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 AM0PR08MB4241.eurprd08.prod.outlook.com (2603:10a6:208:140::14) 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:25:58 +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:25:58 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Simon Glass Subject: [PATCH v6 02/21] binman: Avoid duplicates in bintool lists Date: Fri, 19 Aug 2022 16:25:19 +0200 Message-Id: <20220819142538.24847-3-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: 23266fef-ddea-4eca-2e6e-08da81eebbce X-MS-TrafficTypeDiagnostic: AM0PR08MB4241:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NUQBe4edZC55GjdaPaxMvc8EPKgJZ4IwUsoqrGMlaQJZZYsBBprwgm8YgkUOIDdgPzpcR2FyLmA5AgT0p4UVe+ISRnG1b72a9pdk9lSGVhz9Oz65Ig7EiGqU+SVGqWTmLR/u6v+Evr3chyoIUMD0gCm6cZgv1jNSGZWWkyZ9a4QnSJiKE6YLnH1Pi89WHV1g56HKD6D6bTwSm5Qf60aTC6O1cnvjhCpNzvCTxfOb/rL8vLda57TUFrVF347/FCI/B3f+Ut0Zg7ux5x19InkfA4J+PKHJXsaoCkdH5HcEGnNacUU+4wII4KjFgOf3HHm2DtxiEDer5Wll1Y6r2kWyxC7kEf3Af+Vy6cE156sf9ZVp3PJJ0IOciXkDuZtU6MqXf5yw8gdAV6tA5EvrBivqI7iGuWa1Cr9lQmVexyKhzIJTzZLURFoLZdtnl39jVBau8iXbExTnAseY97v1Cma0lUeViJwInX8NcP5XZrGkpK/DI59Y5lrOMYa/BTnJYmE2ws3uMTK40HC+6sLK5S4BUNMSAF9TuMB1zfj7UFglyCNrlhYlAx2eZpjtfK6oakCtuKLZP8OBn8K4dFeEa5jP49zxZmamMGBGq0VNbBDMe41TZXsjoGyYmToR2h7ZyIlXQvShCAvMQXkyquCug66h9vVybNGDjbIH/nJH171wJ0Yreef5uFhKD+Zxa8FXn6LvRXkWsBmdGXwPxhvs4tf9LVhEPoWmufadxRMci2ja2IsE1oVKcSoajfJBRGMm9pp/Tr8nBJjFRUlyfNIbXfaDNw== 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)(39860400002)(376002)(136003)(366004)(396003)(346002)(38100700002)(2616005)(1076003)(186003)(38350700002)(8676002)(5660300002)(4326008)(66946007)(8936002)(66476007)(66556008)(36756003)(316002)(54906003)(6916009)(2906002)(478600001)(6486002)(52116002)(26005)(6512007)(86362001)(83380400001)(6506007)(6666004)(41300700001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9UYqwyoWAxp0vGK15TXeqX2yYBIYSZtK4BOMTNYPcG4P1i4SxsR+8nWQIL2hck+gaxoq3hWD9ZALJoNe+3IwMdld4dQKa4hm2kuwApLCQZ5jUmMKzfS4LElzXwoiGH13E0jOF2OQ/G3Pb8nIK2K/iBT/pC29cpItsIuTZ4ODA5aML/vfQ6g86fQBQ9scqoozJ4Tq6p/suAuMYMUwOYR/m1dL271vyO4xjSMseP1jr4FBjApFvXFe9lQJEGXORAaPi3/tdV65+M+yKxMnvAZctmtQWXKcMs6mbXSftWA4Ukq2B4DoiHau7Hjd5+RztYpM/REBnK/JQZ1Y4vP73sZLjGXMDINL837B7SJbIq/NnItv/Bx03gQerCk2Ob2EkuMqmcHMgMulZhjy9V1MiAhrYhis9Gwu9d9fUmKPbEB7VtyZtoeL3VSFikC7caJykB1aHHeFWzfUtB3IzLBTX1U/4iOl7a+9I2iWlao81vooPlzUih5ozTZT9pB/KSk0ECbhKztaVBjvQXQPHyOGqvA7snjI9XMv+FUDuid4cqbCYgOBfXb2M2pwtD4+iw4JezfXFzx1/ik83UbDa6c2vc6wEd7iYnnZS00alQd8sDANJZ3UIjz1u6znAimNGKXIUTSAdH4R8Sl754iRiQbZ28bAaQs+lqRULtHCDQWqzH48y0nzsswDwgpfhDZYhX0jak/RJzvh2L3zKSh4S4k3+KX23VvgZb5oGtI1m8eGURWURzYnwpAeyGOCIVKsKjUpilDQYTIQ4YQT3MsHlEglrk42J0LYth7zv4Cgv4WaMQAeGSK+BJSFYORuL4s6/9nr1Iu0yPmwv2TTQDIsR0YFB3SY9Gkt5NPtjXE4ztFphSo2AKxqljlcunqAzTxh7yMK6pRjtpWdcK5eAOOCpbrpVF9BHIvNJE7e1kzNkhGfHzLODEnEBBtZuqETqbj79RStcUaE/rP3BaaCF3lEg+JchYPw9K2tDkVp/cg6c5OPalnbbyiUKeeLcRh4M89+0XdOCsloVAtgkp1JtWJ3OHFaGCFVMfpaEHJHLZHNM+934I7dQIEQNleFbcIjuydG5AG4BYSgtwNXMoTDHvNGPUFHQvip3MDO0V4y2uoesLynx3FnZ2wQAYpjAlUrlLzKWiZAHaLj+QGxCq2O69LcFjPMnAZviNjaE5Kmc1OXLwDRiSpLJe0Tbc1t1nHJm+Kr1NTyPyPnkRU6/3i0rXgyCA6tunbRzwqgsl6Fm45zTLeSs9xaWxg8JZtHG1Xtwj3t5/ngk7DIhUjcce/BwC8VqDbyhsjHZ1bU87AwvGyStOppJ2nq48IinRD2t/f9ZfhMqSluv5g3cxBpCp9+jp8uYF1d9lmHcTA8Zdhn+xC2KsGoifVJHNqu3zttDRs13jNcWU+GCAU71zLcxM8ffXbYRAXelrbdUQL1SMTWoofNRKno5K1eWmrjnGO78z9T3fBilJkCewfX9gWeebZw9e2wuZwcRdeK9iaRUa6agck/L/0LAB6iShfC+eHWw0fMxru1MXNlrHlnoRPHbjvlsLFbxSkFTINXl/ZLXLtbvO3HR4I7agu1bHs+yxQJaREapVViCd2HxirqiR0SaqlHLa+2FfPHxRNx/g== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 23266fef-ddea-4eca-2e6e-08da81eebbce 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:25:58.0335 (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: 43/UnLl99W6P7eo+Peg1W/aSwI/oGUfQg6QohJ9sgDx6q+9LvxWU8AKy0ySkusAmJmcWqxotQNPKmN1WQxBVYg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4241 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 Avoid duplicate entries in the list of bintools used by the image and the list of missing bintools. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- (no changes since v5) Changes in v5: - Add commit to avoid duplicates in bintool lists tools/binman/entry.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/binman/entry.py b/tools/binman/entry.py index e3767aefa7..8f846e55b6 100644 --- a/tools/binman/entry.py +++ b/tools/binman/entry.py @@ -1047,7 +1047,8 @@ features to produce new behaviours. Args: bintool (Bintool): Bintool that was missing """ - self.missing_bintools.append(bintool) + if bintool not in self.missing_bintools: + self.missing_bintools.append(bintool) def check_missing_bintools(self, missing_list): """Check if any entries in this section have missing bintools @@ -1057,7 +1058,10 @@ features to produce new behaviours. Args: missing_list: List of Bintool objects to be added to """ - missing_list += self.missing_bintools + for bintool in self.missing_bintools: + if bintool not in missing_list: + missing_list.append(bintool) + def GetHelpTags(self): """Get the tags use for missing-blob help From patchwork Fri Aug 19 14:25:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668158 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=NssbI7J+; 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) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4M8PFS5dBXz1yg7 for ; Sat, 20 Aug 2022 00:26:20 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8499384BAF; Fri, 19 Aug 2022 16:26:08 +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="NssbI7J+"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6F5C184B5D; Fri, 19 Aug 2022 16:26:03 +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 EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2043.outbound.protection.outlook.com [40.107.20.43]) (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 E583B84B5D for ; Fri, 19 Aug 2022 16:25:59 +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=OuWfhThSyFhhiS1Zv6HoQaITFmn0Le0QXq3WPxvinKmX72Ml+P+LPmR/VK6bWCj1MExlfM8ggKEC2noY9HtdxdNTDk8pp978tWCuLe3/CWs5Z/t2eDH8+zHk/qEY0VowSkS5ZkK3KfdTccvVTnRePb/cr1oiLyU1fvu7YtUrmPHfUtPZvPHG/A715ptJB33YqqmJ+4cQmjhe+7PBDZ4445nQlqJJoa3wouqgnAlU41zqo3FXiDdAmyydBBBOUDU6To6IojgD5Ew8NEG7i6l1ZTeUJd8iWsp19BpiK1yC5PYKlhKNLQ9OR7sYdvQ1q5uPMiIhMmwpPpymhA6NMDOE0Q== 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=fmv/PWBSpAi5ET+Zme1NMDWp526T5S3XpwqPTrodOPU=; b=BFrMj0ksrEWR9USaOJofpK5R0UwbghJY9JSF2sPtU3AAhvs9KziNQV/tYq1fyJDg0uoGkn81vVa8Wu6/2lN6Jq2Aqq1yokzFEPzBH7FFQ3XDajJWFbHK+YR0+5Cltu6IgGMdY9y9uDBgzvywBmb0l5bfem7oKhSntdktXSQiWbSR6P7CJe1CoF3yvXKoc3eMesv4uDZRWnCYuww6jdXUcBLHtp23nZLJFCDe/3vtlSkUPlq8hWVVpEaxtVsupkObORu3tvePbEzlXixJ09QMMtBAb9WjV142ma/jUIr8w2hLTvH+GG3DEVr7UFMAFTr67dxM1eM1c2F1u+/mbnKN4Q== 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=fmv/PWBSpAi5ET+Zme1NMDWp526T5S3XpwqPTrodOPU=; b=NssbI7J+39hKcAx4t4PUAtvGrxpWlyTQgSWEI5bPe9x3Dd1t5sRtMBRi7DT5vYhTP+i/H99JtbdShqYHpvMgyJ9lYOuXNZ/9aRyyvd7b/kKV7lHHv/ef95qCaKx3L4dQafaUSopLzqhm6RBNifhdaP8AOFZyy4BLbYMbk9tntYY= 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 AM0PR08MB4241.eurprd08.prod.outlook.com (2603:10a6:208:140::14) 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:25:58 +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:25:58 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Simon Glass Subject: [PATCH v6 03/21] binman: Forward AddBintools calls to sub entries in cbfs_util Date: Fri, 19 Aug 2022 16:25:20 +0200 Message-Id: <20220819142538.24847-4-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: d840ef5d-fd63-4dc7-4fb7-08da81eebc13 X-MS-TrafficTypeDiagnostic: AM0PR08MB4241:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3LOjfL/8NkuEPFhh65zZ3UXvnoAl4MOpDFErD+XyJRKSloeqsxmg33eRCIHYy2FDXSY6/KhEOCND4KfmL4naBD23i7+WdgsCehjkkbQsY5trvLjNbj/oNyhLnNDfni8q1t7MkHemLuaR9lVBTCiuDb6GbJ+WcOFcLC4Ak0GcM80oEGeFEmOnLrUhU6fxdw4psGVpAQUEvMysc6bCdw7u25An+ATrWFpzL2gsr/ZUb5HhHItxMgGdyAcAZ6q6r/mw/4Up07Slop546c/vscL3q1qrEWdl1U7Xvfzen2w0Gs7TvyZ4KWp0zubIKGhEAttFRrVthw4vbNNoZkKdyZT5sonVBiAAQ80VDVajv9a9U3tbAnf43hcGd+wb8IQob9MYPaBGWiLqRVM660+s4lvAjynVz2PoJ88k+kr2ylh/LieiNwatdNUWVJm9lC6m7If0Ht2aG8RdyYq0NYUqpZU1o1Kcp9Aem4A8zcAEP94j3VRnl4pyHQLFZcg0BDycqDiISD34uNRzsbc8eeqzYWqj64D+1gtN5jTriEGv6/FaAJrtm2yWmTAasNoqO+HUYJiudmxh5CP1PaSxT6ZyhqQksnMk6PYzEz29EW8P8TQxURm1Sf1jXpYYEonANo35PNeugyjUad88emnye+E44ogtqME5wxfKuZSGD+xJjqJR5PxgjP9tgoS/2gJDVfIe3DmwlN7RnGB4WyhOErx47h0bWPJtkH0P+6ImSXyCiEtrnW9ezEWt2M915CWTTXQjRbez 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)(39860400002)(376002)(136003)(366004)(396003)(346002)(38100700002)(2616005)(1076003)(186003)(38350700002)(8676002)(5660300002)(4326008)(66946007)(8936002)(66476007)(66556008)(36756003)(316002)(54906003)(6916009)(2906002)(478600001)(4744005)(6486002)(52116002)(26005)(6512007)(86362001)(6506007)(6666004)(41300700001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: PTm1FPLTNg+iuhq+R1Ewdv2mj03+00+YQ2/DQYxHAaHbbyVa+AOWequfhOIom4WeVmNmyjYbmm0Ll2hDuZAWuRKZ8/0Cy6QqbRIoaHrkQHSNtU7QXA80KAzqsuhYgMedbHU5qv8hlEsR5O/CPbyJK/AiNC3IEEyPD4czQoUAHOP+v9VsHA6U7/s85CfZ0D3dDCgy/bCW7mWXvW+mf5PJZ0PMCfYK4RPTtRstbWnpmq7pGf7VgMExrqaGrMimuglqqrzcgKm40vgWS076QzHG/9eqMzCOhrCm3nnRboeUmP2rHTJGI+mVbDcvKRWsjbjrdCRlbQf+ODqbHAOJFvOPhpen1K6a0wdW1uxGcVmFV34K3qMYzxN/9sRq8+k+YQRZgUdcNTWerimQ6R0Uy1npr9w2R0mbzRpFJLpNODyzUL/frv8kJ6DqdhbVHVFrRIUbN75sJmL0gafyhMzmXYFQ/FHecQHx3u1LyNk82fkU+gTbIhKpa4lzkDgT8AVQIZ+E4e15Q2W6EjztGHqJhOLfG8MpTPTAVwEcy2cOuoOKljYPg10hGbCoOL5y2GyiHux9f4wPbxRRzMwnOGUGB/e1YucrPQd5rqUnAuesr26LfH9RnYHyjEE9EUYaM53OpPpWbdOHgFHouAAKoj9Bw2AR5LdxSp0NnA1wWYI/iC8rTQkT6C7+b/QsNijHjNfo8TNTup8lWBmhM5DYiDA9Sc+nG/i2Of4sEOqJLVdJb6ghXi3oCejlpllM3w69zh2jc0xSMpqhc+IokXvRhTkeKyNMC9Uc9xIr8zQU1qdbPx95w+NzGUyvrWYdIom9mIY4biQhltC/2dQ5aksXgC0X9+skek+nPLiQPXY76bzNICDC6ZCZ85aNHpnT+t3oNG3T99AkMHwOK/t5RfAabTK7CIeYWs9ZLy5RBwmCEdddnQ3FAEYdv4ProJENDfVHnFwUik5e3dOGDCra29vyDCQRLkQuY3KsY4vRYnAXNYIRVAX2L3bz/ri2aEyMaWH+KOc1gtS5iELfFno13Jr0xaX/LvZL4ac4C9J6+ff9Tlpif1LUjUoPGmBfg96zmpyRTi6bF2m0nGIETbwh+p9zWa7mIKAcNAz13n+NWy9mX2Jy8LIWxnN9+paGsqMXiAlrXr5lemzosbJiNuOpXI/KXaX/oKCrjM4ANOFKpWEPfdMIVdnkauJeE4+L28bhXHoqGzRlqvoOgj3hxRRDCBZc22TnsEXWiq73Nt5SJ7Nqxuh09ugvGQifiqRHSe7eSxYSUIi2FE3XJGpdkxy5unHuG8lG7JKBaOzoBjx5dWk3/whl9mCfGDrgJSVeY80T0IUKlhoadXCKTTwaYVMWLWqgOZ/Gg/kC/nGSD09t9ltBt6tU92qJ1WiKDBmiaMYuxxkOVPOy8AM8UmWf9s8ziMWgLMbS9Xn5djQLLJ2Lf/sr74QL9/glhu/GNo21DM3M1+lWwLi3FA39F7mGoCmFLvTSt5NUT1CQQ+EcXfhGZL1ubbX3SqKQhmcQinqod/3rOwpZIAAQpGNf3wrRB4OuuiaHXb3Ftgo8BDWmv4mphVnmXNbHde+eoXKFrzj2t2CAAhmgqCIFIM6gLm17e68CD4prjJTBdJQVOw== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: d840ef5d-fd63-4dc7-4fb7-08da81eebc13 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:25:58.4865 (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: TbR9/Z7sYx0oFPuiZ1dY1PSiDogHPf182dPwR5nV4AtNwMF76xKjLAd/niEU1oNiTKY9pPRZyq5xKo8SdBjWBA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4241 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 Forward AddBintools calls to sub entries in cbfs_util to collect bintools of sub entries. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- (no changes since v5) Changes in v5: - Add commit to forward AddBintools calls tools/binman/etype/cbfs.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/binman/etype/cbfs.py b/tools/binman/etype/cbfs.py index 4a1837f26c..832f8d038f 100644 --- a/tools/binman/etype/cbfs.py +++ b/tools/binman/etype/cbfs.py @@ -296,3 +296,8 @@ class Entry_cbfs(Entry): # so that child.data is used to pack into the FIP. self.ObtainContents(skip_entry=child) return True + + def AddBintools(self, btools): + super().AddBintools(btools) + for entry in self._entries.values(): + entry.AddBintools(btools) From patchwork Fri Aug 19 14:25:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668160 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=mQJLOJTV; 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 4M8PFr5sfMz1yg7 for ; Sat, 20 Aug 2022 00:26:40 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6D7B984BBD; Fri, 19 Aug 2022 16:26:13 +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="mQJLOJTV"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E42B284B67; Fri, 19 Aug 2022 16:26: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,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 EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2043.outbound.protection.outlook.com [40.107.20.43]) (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 2E59284B67 for ; Fri, 19 Aug 2022 16:26:00 +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=hWJVokuiF2T1jygxBYjrIWjKXMqBDVU3lfVJRaJ5PCnxJmiWoi2zDQG2UWUBYj9C+0FMSWIcEtQSkJ6h8yNkm/vi8pM65ClqQ5DHfaLGvI+Nc0HnmpBQnxgI/T6rYwrWzFuoFnXqsHn3PDsRUd/cSJGGfmiSAdI+SpRWyuk1YNebszNwuctVjRXi+CflS3nLndDQ9SE6D8fRERwJ0XjUWG39JeCfCih9WUv/e3uwvnYal5X/vatuAxZ8subtmrAlzH/RQpYrKc45z0bTR1qDdWw7AtA1Ay+4xwbuGijEtUXzVHD8A01wCx9Ve2et/6a5H933uGmd2CthYdOuDfNqow== 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=pf6dVxQw3JPIyAoUf4tor8Q1oTLC2jMCU0F1R21vBCw=; b=WaT5Bp0gBElmKWUkSoi/FiMUrD1f4QjFE7j8QuvBMidwm2G2ETMBZaE47qrSD0tag0QcEM5razTOKCl2EQfgZr5DA+HSxQkhZkaQ1attw5neSWoo59FOY0SxBOTe27FZVhgVLR0xa4uajGVRzYlaZKWt3NbX7Ey/cvdLI5XjC0m7+tdSftIZu/xsJivE/VpFESanORMQhOjsQQ9WuYb4aT77MAO2JDe1G6Xk+zm05YyGWNxdHBrPGkth4P590RRTwn1qkAWY8NhllS4ItRw98k1qiMfov6OU1XcWGBZY80zL6mH4onZlCgPY4tAo3PDOsIEvkCF3ddUgJ/FUYBh0eA== 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=pf6dVxQw3JPIyAoUf4tor8Q1oTLC2jMCU0F1R21vBCw=; b=mQJLOJTVUuYdrqnL/L3bKhu1R+9w4X1H60Z/svJwct4+z4qAHFnpqucL4ve90bdpr7j6XC+PoE7JwiupQdWT+OwsiwzH7sI7D3xI0sxyskUmBUywh8eflNz9Z9jp6UeJWkObPszfLtPwJHh8j8jkvxt8X5C41k3/g+gHaOX1uyw= 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 AM0PR08MB4241.eurprd08.prod.outlook.com (2603:10a6:208:140::14) 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:25:59 +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:25:59 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Heiko Thiery , Simon Glass Subject: [PATCH v6 04/21] binman: Forward AddBintools calls to base class Date: Fri, 19 Aug 2022 16:25:21 +0200 Message-Id: <20220819142538.24847-5-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: 21e2a208-c328-4c76-ca19-08da81eebc5f X-MS-TrafficTypeDiagnostic: AM0PR08MB4241:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Aqrx2McnhoQB+SZcbmG2JqPt98ZNjy4WxxDIvJ4ukpqC5/c1h6BFc15LgPs35gjZOSB5Z+jp8K8ktl7TdLsFU6wt4yISMcr/Fg12eV+aZKmxpFFu0gm5sQgjb5ZiOIpe5HKEun3Zzamhu8tE2JGToaNuRNTt/4cfR41AvrbPhAaKS7C90ShyOBZMAyJhBXgUKvadz36rCwjkS0FKmAvKITl1+FbghtZYNjdG/6PtuHPgnWCfEFCZNzQo6BuobD1I9SCa0wCGXO/9UZCAjOpSJsXW4JftZk9nCP/5fPYw2CKTt5GI6PpT10NlvVbBPsTu+MUYBP7sV2KFEpn1L8wFHijaKo+LKhvpiHNYhd65ibGzBWEg97PDVpQy32f6CGahdVQ32AUafVvhfcvEd2vxnlrhAtpf9fF49jXVmSlccTu7O4wYPRRzqcx3pDfBa/Vct/EKf8urKbbMyh6fWiX7k2Mj26dn/pFItVheJRZzaB+tssFUTouok5ydOzxi9LnEWm8w2sGAycXGVW1tAAe5qe6c/XUSm/Bftpo52JykrW6qhSDj77Bc23DyPJbtKqVo5yhPhDpcXo+ZPcnNtyO9stuqCbygdQnJebnMBngkEBqYi6gXv+TKRcRuSZNKZe+cm2jlUtJIxdXGJVN4Yr7xT4KAd0v53todV1NtGG3Fy+6OQhXaAWqiQa2ZI2Kchl5LnW/Q8b+mLZTbJu3uLT95fKd9DLc4VEcdrPYbkoHmwrJp5gxgN+VG+zEW2BnCcqIV 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)(39860400002)(376002)(136003)(366004)(396003)(346002)(38100700002)(2616005)(1076003)(186003)(38350700002)(8676002)(5660300002)(4326008)(66946007)(8936002)(66476007)(66556008)(36756003)(316002)(54906003)(6916009)(2906002)(478600001)(6486002)(52116002)(26005)(6512007)(86362001)(83380400001)(6506007)(6666004)(41300700001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: vnYrL46qpJdIo+Uu9iDoYxTBmgY84Q5J0UNoKX9wZnKL53sIHXFxneNxHc0Bv7KGtmuVnLGhCaDP9nNzw0iGiaQ6VT11k1TfH5HhkimO40w6cEiMNxnUXyj1obarnfDccaYG0/F5fHVP4NP5sv51ALZ0qLnzPcYBjvZKXbSqAR+NJAyv5bWOTh1a33q0Hqq60qiHEFL/Aqdrf2X77RNks219NU34wuRASWXWqr8GVOBK/BN+pyt3/iZXWFcX0j/suM8wAtcj0UdYpSCMXExMV7iMvhEfZS6F0Yc6BnjKrDPZ9YEvQWuKewp64w87H8UCkkb8LyrVEIRnG0+4XCkHn3B3oQqgqrBpJoe/Ssi4LF0swQkxbLyWPC0woM212G59iFymT8cvMLWPPChkJNxKyOC5qI4U/CVsQtuopv03nEMZUBUA49PBmJiRoL5PZvvUh5preDb/zeB9SlAL8B+DunqUYYdalZZoZ3PMqBHlBbYoSlcAb1nX0x5gW3SIlf+4CheGh3mX6HoI1lfexfNHlEkReXAQC29RClKagPt7fbNpw+z2oKgXs/V/wiUsfXrWzogIPObPCAz49GTgrUYWhcLnaSmFDMlCox+8g1KJgPw38so2pS2PLocEFQXnM60RE8NmLcdDPCE+Nwbkn7hpefx5UO4u3jqoX4UuVU0KzrEHHUhKPeGCZC9G0eGJrtfxjHULDxcJ6Fg5DbEepzcPc9gpRp3Cmtuy9RaU/xkVeg4xQW+JBqnqMmvVia0GgrzreBnuxEK61IjiEnUAn8TfbAlnUjmjrDlM6HweLgEmhLmqjObXkO5Ggoa96KDSSFaUVuaFLarl2rKxh9VjG7cY9Ik/6LOtwhnPjR17Ln0oKE9TguW222uiX2nHzTOxRYieaCTZno408mI1+iLPK+yDxhgHAdVwZyLuUNvO1nTsB/9aom6rySx7Bfr5C9atz6YT7qb2nqzUrabUp4KX7iZzJgy4Tj4STxP1W+OvuEqZpSzdHl9JMhjDVm3xyteNDfBLJFeWDfuYuR5BvrbMQ1c1stevGu/YNbGDpMZtvH7DiQ350Ck97yfd3Tko+4WEE8X+psIiWbpITgovPSSJ28KW9C8l7rjd1wCfxjyAmxNcJXHfFIICmO5QLCBG0ybYBux/ee+NwqcuPFB1UiywY7hpLcrtBkTqW1ebjodYot9tPlMgriCboSXBYKk6V05gGUuB5KreS5j/4laUb6rTcZvNB4rhwwuxut3YznqdN5Y0hRzN1uWCiEfCSv+iWNqXoHH6pwyR8nbyqxa6VUWj6fgTVc+RYLt/VfPlr1XYcGUqKRGMKrJ26jAE/o9ng8yAWpH6dV3bc9cslPR6yhp5sU9W5qoVlAd5XQJMiTwNJSXMU4RvBirdv/Tr9RhaIiYVQcGFxpw5vLztpV8fbUnpEU0JRH4xFBcrp47Aq4Kd6pom8sBocA+xcp0dl+RW1ZpAmKMK+882q892CJaXgf0GmPBevYkjUzPuvEgvio5rA3AdFUvpPrla73rlc0X/b9uje6gdOdNCZpn/dagNFP7RtkaYqepdiftojETa3+7njgeXxulq/I1XCNyZKw92ZZ6WiYBA1B2qsvjHH4JGapgv7MYDOg== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 21e2a208-c328-4c76-ca19-08da81eebc5f 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:25:58.9877 (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: 1RLqs4AbAcnk4Vx0Deis6A9amooovZMrzWrySP/g6eBgE4VCsZ6P2eWQaO5Jpa7QDPzoop8YJxl36luDBjynmQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4241 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 Forward AddBintools calls to base class to collect bintools of base class. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- (no changes since v5) Changes in v5: - Add commit to forward AddBintools calls to base class tools/binman/etype/gbb.py | 1 + tools/binman/etype/intel_ifwi.py | 1 + tools/binman/etype/mkimage.py | 1 + tools/binman/etype/section.py | 1 + tools/binman/etype/vblock.py | 1 + 5 files changed, 5 insertions(+) diff --git a/tools/binman/etype/gbb.py b/tools/binman/etype/gbb.py index 7394e4e5d3..ba2a362bb5 100644 --- a/tools/binman/etype/gbb.py +++ b/tools/binman/etype/gbb.py @@ -100,4 +100,5 @@ class Entry_gbb(Entry): return True def AddBintools(self, btools): + super().AddBintools(btools) self.futility = self.AddBintool(btools, 'futility') diff --git a/tools/binman/etype/intel_ifwi.py b/tools/binman/etype/intel_ifwi.py index 4fa7d636fe..04fad401ee 100644 --- a/tools/binman/etype/intel_ifwi.py +++ b/tools/binman/etype/intel_ifwi.py @@ -144,4 +144,5 @@ class Entry_intel_ifwi(Entry_blob_ext): entry.WriteSymbols(self) def AddBintools(self, btools): + super().AddBintools(btools) self.ifwitool = self.AddBintool(btools, 'ifwitool') diff --git a/tools/binman/etype/mkimage.py b/tools/binman/etype/mkimage.py index 5f6def2287..16a4eb4744 100644 --- a/tools/binman/etype/mkimage.py +++ b/tools/binman/etype/mkimage.py @@ -105,4 +105,5 @@ class Entry_mkimage(Entry): entry.CheckFakedBlobs(faked_blobs_list) def AddBintools(self, btools): + super().AddBintools(btools) self.mkimage = self.AddBintool(btools, 'mkimage') diff --git a/tools/binman/etype/section.py b/tools/binman/etype/section.py index bd67238b91..48165abf6a 100644 --- a/tools/binman/etype/section.py +++ b/tools/binman/etype/section.py @@ -899,5 +899,6 @@ class Entry_section(Entry): entry.CheckAltFormats(alt_formats) def AddBintools(self, btools): + super().AddBintools(btools) for entry in self._entries.values(): entry.AddBintools(btools) diff --git a/tools/binman/etype/vblock.py b/tools/binman/etype/vblock.py index c3ef08bbb2..04cb7228aa 100644 --- a/tools/binman/etype/vblock.py +++ b/tools/binman/etype/vblock.py @@ -98,4 +98,5 @@ class Entry_vblock(Entry_collection): return self.ProcessContentsUpdate(data) def AddBintools(self, btools): + super().AddBintools(btools) self.futility = self.AddBintool(btools, 'futility') From patchwork Fri Aug 19 14:25:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668159 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=s4qrNi2E; 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 4M8PFf5xsgz1yg7 for ; Sat, 20 Aug 2022 00:26:30 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5845684B86; Fri, 19 Aug 2022 16:26:11 +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="s4qrNi2E"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 364CD84BA3; Fri, 19 Aug 2022 16:26: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,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 EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2043.outbound.protection.outlook.com [40.107.20.43]) (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 5EC0384B69 for ; Fri, 19 Aug 2022 16:26:00 +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=j1Ar1g5CJG+hWFCY03dWK+ac341OgidtrIL6ETPTaXmxFysVq/7N62rP/jdXSxA5tT8VgudgmZXbrHnfTiNAe2DLk2n4PZ8t/omX/5xrFKx/oWH81HbsbXaocaeyVGbWWpEBSSuxDauXHWiUVnc/zSgNKCR+wxZJglEfNN9GWo5F4TQdO0ijT4iW0Vq7bCybtKq1oaHcUyyny4fDLJL43rMAT+U0KduN32Rlv7kZdu4yqXUtUb8iRd+4KHAjRt1sgGTl9JPygr0mAqdAhS+ircEirT2xer9G2vU0uxNyiNv+Tbmqhkg1WUjzl+82sggyKn6JMChA7rz2qZgDZunDvA== 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=eb2caJLfC93pfZOkyhf3ovlqg1kIHNY9EMN839q5iQo=; b=MH9WQ3PdO7JG8dd9xTHKVcnk3Mg03+t/ZQrv6WmeYnuZd4q2FiMu8QcoVaNWDu39xSL2AKjnrODYUCT6pzcdNGuI0BIu0Qyy/zprLucCnDWX+5KgzNJJwO8qvgvfQcFGDKSJ90MpYbFJvS5hOC33hEfdymIWjSZqbaNHSepfjDSt5CeFvPGaME9llxR8+etDF927K2XDSz/ePAiyxdofH6hJNA90JUQC+VVG+6xpftAyOd2I+ybkX3y9cEmseKaWrOKg/Hcnv1qeCF2BD/SEQPMOaQji5sx2Fvj+6svPNcM+RSo9ClIex7VxvIP3orCx4pBdxFJKD44jM3L9F2Su+w== 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=eb2caJLfC93pfZOkyhf3ovlqg1kIHNY9EMN839q5iQo=; b=s4qrNi2EDc4TK6+tGtAJ6LzqTYPLjntm3zGs/IBKM157ks13CjR/FZd2a6D/g5/on0ok+eU2Jb3MDOAQewFOpDmNR+OSFkpvd7nKIJxIQqy1S8jCVlW6x/otwfAbR6RXAuj04y2mkfOB2vxwQUI9gM6hjtUYmD/shKUyQi6tzfI= 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 AM0PR08MB4241.eurprd08.prod.outlook.com (2603:10a6:208:140::14) 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:25:59 +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:25:59 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Simon Glass Subject: [PATCH v6 05/21] binman: Collect bintools before usage Date: Fri, 19 Aug 2022 16:25:22 +0200 Message-Id: <20220819142538.24847-6-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: 75be377b-61ed-4241-eb6f-08da81eebca4 X-MS-TrafficTypeDiagnostic: AM0PR08MB4241:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RMQPc+DsbWkI3esm8SWy3fpb8PN8mqzFwit0hTS4N9piunzHgDGqpvuWeyBADOvcLa0Op9kRJY8uWTMfxjOG7eebYOBdcDM5zEgZEjnZxv5wNEmB/jYDIGsn33jvHo7hwV7Sre6ov8b1u3mEqN0aW8YUHZPABSevOEt508ygH4048NcRd2u4SMUdFxJaDtQYxffOYnn8Blg6WJ1fJ9fTmansDwy/pwY9LE/9Se4izpIfXouYwq3k8eBwmNlckNofHd5/k3WkTgRteHIKZlFxPziqoxLlme9tXDxyJoHfxfCfbtiRU0dch+UBLlpVcOrjUZSY4qb3y5BIwYf7FipUAIbnplp7Is8NLx4VTR6oE94ACyqLs3/c+8sAnK/HIJgLMf4m4yShsXOdbO2RtDw0Bn8UjkJ3Kv/bMe/hbR1WxZM2bAKvqEMeU7NrivEk0FnZOKn98guGznA3sBcEKU53oMBKEmg2MuabLj+m6P2KF6ksewMEIcaVWPnIcDet4NK164jsz/OdK9OQNndmQw4sh5a9pDIJzSVkanyS38upeSsJXXldJgIp3dCPgWa5FsaXjDr8dTLWxT+eus2/HbultDH/voxGjIP8WdjgE9eqDrLBo57RRkLcETznPX/cbqWmVO3Kin4sfY7n4QExzbzuioiWIX1zxuhErTEoRAD7jldJWsq/jvu3vzzxfdWiR5OMlD3jSv/dAi+byx/UvSllZ42C+ZCuSgLe6FTdJGoh1q0QeOW1ydzP0ZpSYe/lKkjWY/k2OWTQhkQCqo0TqTGxZg== 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)(39860400002)(376002)(136003)(366004)(396003)(346002)(38100700002)(2616005)(1076003)(186003)(38350700002)(8676002)(5660300002)(4326008)(66946007)(8936002)(66476007)(66556008)(36756003)(316002)(54906003)(6916009)(2906002)(478600001)(6486002)(52116002)(26005)(6512007)(86362001)(83380400001)(6506007)(6666004)(41300700001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: bsLA0VyiR0r29ExbyP7JibQay1mTYGsHR4b3042Bh9aYCcuoYrMJ7C/T8frEmy8jR2vKk4uBaCDLJgcyfrPYKzcYBDgWVRUp9aMe9Dtx5vkZ06SGFEcf3ZltrjK1NcD6ocKaB2p7BU9vPWoMCOIBKlGrSBeWhFN5gxuR3rv9XwGUchb8G5XHDXcqDSDc/vnaRh2VdCgckOwmkbygirvfD6Tt8oONjKstdBjt/c7JpYDWVqb1zvPP9877BTZ4sE4hFZuZfhmXv0nkcPa11FjONoQ5tgp9f1Y2KcRox7AoOvBreanyizxTU2FC/JP13nYU/A7F0WksDJX9L6urcpYK1gnl8vDPqeB14UiHGYRpYQh8GIWwTkjanV/PVaEVBVQmncoKc5qSCYgfzUAKfFtYgvhni2f8zcG2RxW5R345WZj522g1AR2khJPldXXvtNxVp/YluXjAXYktoO+/X1Dx9fxDlqfnHMIUecOKlzx22eCN0KJqDpCsUj0BlV6SAVjj5gWUXRNXBImfuSLhlC/rxCsR3xuH+cFDLyGBKfQBpBLckEitq9ROA5CSCh3/uV9HMqEMxXGgN4tdyDXmMgQM2yy6sR/0B2xCMkuxilgK0d30ZfTQRjOdwhWRj1JG6yX1B8FzX8+/ECVEegTa+kdRi1IxIiUGymVsOQvErzYYdifJ5SvmecbFHBU9DExM5j/Sh4338sBhQRobztIVpVtmK1l941VboeS9mckZgmKW4X6nFI0+vwUGgb1Q4f3CcNd6W8cYgtgY7jcKlf0B5553b2KTo/Yb4Wft7JOGaJRt0ntXdcNXIk+cKVz2fUKecE7KsgEAWsa9jttqawseYP6ORUDNiJ0XSOB19VZYPRHnL0v2P4eFzZ8TTyo6kOGNu5xTSzsHRi2kDKvI9EOVTiXI1161ay/8doAFz/unIjPHlETT0/z6z7dWKgTrZceijtZOu+U4EDMcB24jN2R+3hJFXFZVSSGX2gRsHcbB+x6XuVjk4d2KasqUR4+iWTt9ps8tHD32j6+v0hQUPeBbXXTzbAw0u1dQY8hWVmKO4YBgUndQSpNYroSqgP3Kk8KnW8iNTIy6lcyDZ3qo/Y6yM1B1M+jSI1wISiWJsihMumfI0myxbNQayIS9ZzfdjBGlmuEVGVAKZNS48DaO+9ZDk99i151vIsv3I2xb6hJROR6AzWChtcCn9kn/1YZywTTefxLRkyuj3WI3sID3Q3ZoTK/xTm+tMxa/neNTMlJxd8b8sz1W/iQlaJB25u5UqPFCFclVW66/pOERh8TkSScJ6+sMvUTrE/PnSYZhZSjqnSlscYY7xNOfem68Yo5+yfM+UnJNHV58bXbogNCS1RGz4LPPYTYAftm572pfW60doglI//8IvZt5I2x/FzLmpDAWbbx5Vj0WRWo3yNx+a/Q+Hgnm1KjpTA6uIpgpwNZyD1xpO+OXmlfIY1xKZRlzBcyekIMR8zDBwTgLJSSW8myGBYKrqCwdY1Y0NuPPfIqDArp2NJ5qPUFV1qh9++V6O+796t3wJ9IsjWFvMm+MTIcNgsFobHkeJiVGmmVIdCX/e+MBKyQZGSdWEInfE7b+dIUA3ZBp96IEQCH2I4ve1iIPe4kYUA== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 75be377b-61ed-4241-eb6f-08da81eebca4 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:25:59.4251 (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: S+BW5nHFOQw/5bzKik6oFmfUBYazG9On3NGr7zCA2dHFggJLcjYIThaUSaeUj6nrZJS45WAXWkzZhD+KD75cpg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4241 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 Collect and thereby initialize bintools before any usage but after generation of entries. This is needed to handle bintools for compress and decompress like other bintools. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- (no changes since v5) Changes in v5: - Add commit to collect bintools before usage tools/binman/control.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/binman/control.py b/tools/binman/control.py index ce57dc7efc..f8b1733b14 100644 --- a/tools/binman/control.py +++ b/tools/binman/control.py @@ -215,6 +215,7 @@ def ReadEntry(image_fname, entry_path, decomp=True): from binman.image import Image image = Image.FromFile(image_fname) + image.CollectBintools() entry = image.FindEntryPath(entry_path) return entry.ReadData(decomp) @@ -251,6 +252,7 @@ def ExtractEntries(image_fname, output_fname, outdir, entry_paths, List of EntryInfo records that were written """ image = Image.FromFile(image_fname) + image.CollectBintools() if alt_format == 'list': ShowAltFormats(image) @@ -370,6 +372,7 @@ def WriteEntry(image_fname, entry_path, data, do_compress=True, """ tout.info("Write entry '%s', file '%s'" % (entry_path, image_fname)) image = Image.FromFile(image_fname) + image.CollectBintools() entry = image.FindEntryPath(entry_path) WriteEntryToImage(image, entry, data, do_compress=do_compress, allow_resize=allow_resize, write_map=write_map) @@ -507,8 +510,8 @@ def PrepareImagesAndDtbs(dtb_fname, select_images, update_fdt, use_expanded): # without changing the device-tree size, thus ensuring that our # entry offsets remain the same. for image in images.values(): - image.CollectBintools() image.gen_entries() + image.CollectBintools() if update_fdt: image.AddMissingProperties(True) image.ProcessFdt(dtb) From patchwork Fri Aug 19 14:25:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668162 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=qVieVD8p; 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 4M8PGH545dz1yg7 for ; Sat, 20 Aug 2022 00:27:03 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C800A84BC9; Fri, 19 Aug 2022 16:26:19 +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="qVieVD8p"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3CA1784BAA; Fri, 19 Aug 2022 16:26: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,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 EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2041.outbound.protection.outlook.com [40.107.20.41]) (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 D66EA84B6C for ; Fri, 19 Aug 2022 16:26:00 +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=H8iF7L2ygvTY13pPfB5T6G27n7Oylu07nLMEb7kyONTmcdZ+rdfJ8/sArnQIRxfjwJ4ylAqaBEZz0G/cEkWT/hrUB69taAmNK07f58eyCNwEiPk9bBJrJMpr6NY/ju4xlnu/BWS3t996hj2gPCtQajjaKLWJAXeyfG1Z95wwo2MQ7PFmJ9L0gK01Fh+6Tc5MDbJZ9BRfRvSKAIQ0TF9MIMeBKFVOhynywI6H2fh0FGJ5g8eP4joaWzaSe0seIM5sNoDRBWohb/bvbkw6qTmlq8N+/O2xc07quhM10nvYaXzaz4eGfJ1r+BU259Zsk5RpP20xRri9Tny8lyFQVSeUbg== 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=MdV5rgr6FmIJ5aYyqRP2SI2raI5xNHuK5LMPzcLp16I=; b=j5KKUwy7lL2gYQ8N3lSJPTv2Xgoc1erim5OX0O6Btb1c+PH/58MmUQdwJt26q8ePWzDn2m+8R2l/SGFNpXo0//XckilzChcFWsSRu9ryroC7GpL22KFbUp9wIvYX7oBYLO0uEdboy/22h9dV97IzOmuZckkniNEnbXdrChX5TiO7I/xNj7u/2ZXZwoOimG6siVuxWjvc8C3TuZCdS1108jW09ry5gZeef3bO3qdmyTBhSwRnjvcOq9YGSCBjOBm56y7zXxwY7XYJy7S8ScEo+TdjCbmQD875mFhyCn5bY9DcREb0Tuct952FD095jKmoJBaNQstAWM2dI3Rvx8rSYA== 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=MdV5rgr6FmIJ5aYyqRP2SI2raI5xNHuK5LMPzcLp16I=; b=qVieVD8pPyLFjxmP9nFo9EOiyYNpAkZumIfa3XgCiAc3XQSQRz9RVRyxaJZhBkcnHLZpvTfBeitAdUpq3t7Bw1Q6oJZWF2+CHPrOuUivyr1R8HXYkkteMc3U5jnSoeaCLAkzD6Va2MLtW8bAlnBhZGfIh2mlup6u1tGZNwl9FXQ= 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 AM0PR08MB4241.eurprd08.prod.outlook.com (2603:10a6:208:140::14) 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:25:59 +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:25:59 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Simon Glass Subject: [PATCH v6 06/21] binman: Check only section data in multi section test Date: Fri, 19 Aug 2022 16:25:23 +0200 Message-Id: <20220819142538.24847-7-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: 775a2821-bb7c-4eda-e885-08da81eebce2 X-MS-TrafficTypeDiagnostic: AM0PR08MB4241:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8URXyhmplFHSfAMuqz7W6oG7ZJ1OUUBS5tYmilK7HQZ3Yvvl58Rr9AUDRhceiutUOE6vtgFENQPh5XSHlzb1N6PzeCUj3N6DDiYNeAt/Mw1JHzOtM+Mfh/H1XR5aECtrgXU2TKEfE5dQrbdMYBXxqHOAhbV3cum3+TsiQFvh5q/4HCvG1XO7gIDzO9gnHbBe6gAR1wuCmNVNEshHCQr/6341Auluf0uCRZY5t8EoRJxm3ndSKujpvAAjQLeBcDvXh74Xb0/LWoANqiY6B6j4k/qJ10owX9fjberbig6pc/aSPvKOo/yH7x/k4ibAif5KF4/xSmYXfV9HrOz9vjOstqod+u95zBVI330rLPB0SBLeRddzXSbsC8ZkwBcnzWa5Tu3KtgBNWr7qfhrNfbkWjVbw1SjGeuyVxV9ErJt46PJh54zJLTyjS3NrQDkqE7bT8e0sLUHDm9AeO9WYjqvIbrKcnBagvtb2fFPfjLolR/2HSLWIpswj1BLFwRSMhkaKzx4iQDc99iQPjncTsbxd7yr3otFPXnpLsgx+AphFRV4KoWQwIPrlrEj2OWvM0p7W9MCr4d3+etSegemSqLVDgkIWsvEDwP8IczKl+m1UPhVe8u0vlbiP2QAWJyVr7rwdzoI2QI19xqG+bof4UpGcN6XlczFCzh7qCXRELVfbyYjtRWMzhes0tlxiWwhNpJ4G719Ba/MBvpVlc3/PK5wYtUZoqPSpVxx1djQFLczHWf/TruQ8czC/65sceIS7D0DY 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)(39860400002)(376002)(136003)(366004)(396003)(346002)(38100700002)(2616005)(1076003)(186003)(38350700002)(8676002)(5660300002)(4326008)(66946007)(8936002)(66476007)(66556008)(36756003)(316002)(54906003)(6916009)(2906002)(478600001)(6486002)(52116002)(26005)(6512007)(86362001)(83380400001)(6506007)(6666004)(41300700001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: pNAEkRX+EkpEt96JRDSsCtIkR+8JYSS2TvpbtFLVITqYGkpgqOxz10Fu4Ogmd78yLLg3hTN+hWAPjQxu3d8WDb6bjvXP/xGox4dOZrb1qOnGqjloBp6cXIA4sZB6QsLf9qR6SgoE2yUUPuCSZX4aNM8C9WopsenZdrSfOnLIfH1UZprvjEFtDeCrpVSdVFeWXTsUPcjz3uoSkt7rlKCfZZ2jB892Kcoiu4+2IMuJ/SxU4aJhmGzjq3UtFRjx3RaEwMgQjUG6dOrr10KPFdXsLB6+IZZXXyaMyxmumHvpR26xSmCsZr232T92ePL53Nc8pAYXRdofUnVnE+mFTixBxMtjkuX7uFj7+ThSCya3kbTlz71AP4h3EtrtTRuTHOW14SZA9hDssvhjbzS/ULAYBttIm51vaSikh+E4Upj514hqkF3a6XxrwpNSYed478wxeNWIh+3aOI1sLwuk6nFPPhj6x/O2s8ejI6xZfXAMIvVUIHoYVVhf6Yy+4Qs7qOEeducsY46GQr3dItU91/p/TaZsxjaRRfZ3D8ez584QFpGOvw3A0dNeGRzLSCE7PlAoaTN1FRYrUhi3vrbjiFeKIoHQuTMQb+E5ox/fr459+5CkEKXm50EsXJCI4/U8y1q8LO8xsv10u+yGnrmtY4aaJa2UCN59Ei2uggeQYOvJiUo0D+P0g4p1rEk7akvJaH2+oazfsWGpiNpWjRODnG2sGB/G13UXLSgtzNbAPYIwnEcg8BbIEyQ9iz55cLM1ljOfdtEHti6qj79yGMb1fHBtohd6+yZ7zpdBhwrUt5Y+mPrw9wvi+maQdVTUVI4wUd0jSB6rWSRd8Ggih2q/csc7J958rFmPYxcmzzjdu077zICKm023imlL7V3C9R81KTQAbIQMYK8Br9Tq13sSWi32YbSTO64eys/iU/Ju2oDpjuQ1cOCwR/TqrKMRgIFcnU//wBsip6ZNpREnggnq6PAqRxxc1o4zJBvNSzfYG6RqsuVZpFKHqA+gKFYLCWfQOlLRVu8f7V9q+HWA1rT/DnkfiQ/h1tYykPVhVNB7g7o0LxPnIDfG+CEoqUZktmESCoo1y+nQq31GvUzbopjuFkR9Phkuq6HTYNuNUQPTWt3NkyojXzAyDAhZjsWkzqP7P7VbIiB/1qkdl4fKqDludQZgOiXEGcLrhYaUn+HVsTgG7opjj5wKVgBVqWM5SRxkOkAyyPsVFv664szp173lG0HXNjzYKoo+wuLEn5xR4FsWQuBD7B2o2zGRNrgp537nGouQVpxry8w+dY3SaxL74XltHvPpe5fVCObgGwOgzO6M0ryov8xQuCsWlIfOIEMdWyHx5IqBK2PQoSBiEKwDecUXtK6HUzFKNjcJ/LOZHXDLUOIzLMFNfNTg4Lw3bn41sjV4o1MYQ3nmpdRL1nkofZb81/x0MMmvQaD24baaiv+1rnlPWc5PcpW8bw8XmLt2xfvc31xOt/t1ATlNVPNN7RtPh8M2/9YTlkoPoA3JjXZ0WzPeJawjTYwUmPI5nLLOyYrVlweC9h0I2w8eHYbvHpGv5LEVNb3MmkJnZb1kW98jT97JwKA4qvbznN6W4dFVw48XtZjqm1Tjh4H4JWkgS/nqDg== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 775a2821-bb7c-4eda-e885-08da81eebce2 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:25:59.8470 (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: qGX4AqvWwj8qRTueZwzO4p2oFVuudvkGQjU7Njbz6OCIRyJG+Vcn0Gx1/RhsPgfr5EBzY3hH8uXlBY04E2JhcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4241 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 Check only section data instead of the rest of the image in multi section test. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- (no changes since v5) Changes in v5: - Add commit to check only section data in multi section test tools/binman/ftest.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index da9aa9e679..293108d738 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -4427,15 +4427,17 @@ class TestFunctional(unittest.TestCase): rest = base[len(U_BOOT_DATA):] # Check compressed data - section1 = self._decompress(rest) expect1 = comp_util.compress(COMPRESS_DATA + U_BOOT_DATA, 'lz4') - self.assertEquals(expect1, rest[:len(expect1)]) + data1 = rest[:len(expect1)] + section1 = self._decompress(data1) + self.assertEquals(expect1, data1) self.assertEquals(COMPRESS_DATA + U_BOOT_DATA, section1) rest1 = rest[len(expect1):] - section2 = self._decompress(rest1) expect2 = comp_util.compress(COMPRESS_DATA + COMPRESS_DATA, 'lz4') - self.assertEquals(expect2, rest1[:len(expect2)]) + data2 = rest1[:len(expect2)] + section2 = self._decompress(data2) + self.assertEquals(expect2, data2) self.assertEquals(COMPRESS_DATA + COMPRESS_DATA, section2) rest2 = rest1[len(expect2):] From patchwork Fri Aug 19 14:25:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668161 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=II8KstLW; 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 4M8PG45F2hz1yg7 for ; Sat, 20 Aug 2022 00:26:52 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7CD6C84B89; Fri, 19 Aug 2022 16:26:17 +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="II8KstLW"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9AF4284B6B; Fri, 19 Aug 2022 16:26: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,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 EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2041.outbound.protection.outlook.com [40.107.20.41]) (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 0B08C84B73 for ; Fri, 19 Aug 2022 16:26:01 +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=PeZuywIO4sNjjpHnM8muoeqEDJ8pFoo86E4ZuFSfJ1izOAPQ38YLI51HrILFMTDVTGds6XVFq0axGhd3nhpoEWQuw5eMglKZh+vdd7I/Je30ma60/ME3Lqs8neQ3fnOPnho86fiy2ZTtJRUs33gakqeqERsurJtSMdD8h0x/lOP1cAPkSGN/iMNjkV86CEZo917D+0SLv+gV4xVJKPpq5bQREumr4FpLqx+cbp5Z8/NRXS+aN/mrS/rrKgxn8Kcx42LLUQzEEoYhnsvLgj12uyjftq1xTcS+GGtyjwXKRPUR+nAymktFLyDFyaaqav3eMLLF6RzbLMo4VCJUuHVtfg== 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=1Au4hMF0OKXwAzF5BvlppjiYixC4mUPgjoJquuSoC2s=; b=O+zjrzSQbflNzMT1lRZSNB3SmEjoEE8rtekOTQ3D2IR6MoDegA6EsYfkQCa7KB2cyrP2RVJ0IWKCDRD9nc+AVKzWnl/LS/uFNQPlRCn5+NGixP1nlyxoarkhVjksIfSIiZbq7/SkhyYA3ER3psvJzeCr6F6q8lLb237zklmiTCa+IdXOCkM97peAPtb64+6cgpXyH2hQwDFMY8U+vTnyJVntDm2gt0vw37RVHEU350ezUpXsAApWAar2RITvCFoI/RtqbWwei2JkDE8RlabnAQOH2wFVO7psGHCrrTMZUZaipMJ/30qZvAfCTMOLvkfp7OJLoNqfUM+LuBonXmFdEA== 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=1Au4hMF0OKXwAzF5BvlppjiYixC4mUPgjoJquuSoC2s=; b=II8KstLWtwjFluQKGUGDkpXbUm0HXuK5jTy353euqTeJN35JSXYHIifRLDkrq1TL3owp6j28Pg3Z0ZsCob/8KS23mS+azOsOgjkKngajDRVae2XYbAa2Js+mBDgOQQlAC5aBepjZHyED0Xan011MsQhiKeWGuMhMDB4J4GxsvUk= 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 AM0PR08MB4241.eurprd08.prod.outlook.com (2603:10a6:208:140::14) 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:00 +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:00 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Heiko Thiery , Simon Glass Subject: [PATCH v6 07/21] binman: Add DecompressData function to entry class Date: Fri, 19 Aug 2022 16:25:24 +0200 Message-Id: <20220819142538.24847-8-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: ccf54b01-7228-4126-0749-08da81eebd28 X-MS-TrafficTypeDiagnostic: AM0PR08MB4241:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Fr4LbGV2RKrdjAZp60Iijpn18FvTJELkOI4jZME2wRjMx57V3MS+xLeb2qDV58t3953AxpeM7T0Ty7vpP2U45KXzvQDrqQvZe+bZ0Hjx/Eu7CikJXpijGqxCaQVXkHECPGok26M+WAJHG024aYY+5crM6oWsuET4Xs+xgpzb1WDEsWByNdaou0fh0O7VV1GoN6mfmj1DRKEYoY6p9QTDmbqbIieLVN6fyxFCwexOs6wzvoKJWgxCL7u38bV1XQYxYBSDowknNwkBfVC4FmPDLxXCVJycppQTMXlJUx54G0hRNsYCnpYeMfQKl4WROPtZg12G+hoABUbKNT3nYGXWpKE6g8qR2UxRtPTS0SbN13UpkiPDdfl1BQAZux6g4rdKmgQXUd3CY1v5klXbijuA+gDYTf5gmW06BZV1Z2CxOhSX/CiqmglDgRh0pcs70hLodxqZi8Nk3krqCo4smkUqgcszTH7x81VxtBI8YQgNBi25ZLMUHlvnMZEnLF2LRPCeWtJcy6tJQ8tg6Zf48QWvC3Yfv2jNNRVSesfwFq/CSqenKZIMY57X5g0yqXyFH6Pe1jTPspQKMbk/bY18qeVqwaBNnlwlo92BHMPinECOYDSNIzCbHrHY+a7u6DyV+apuTCuEMv+GM1EcrmQeu1x5SR528PDbtCejSNzEdRBhGv5MCV3WxK6SaH/hQfodvmNiaMocsYuom/+FzrQudqvRuGUTLrYRZ+VoiLmCu/B4yrBD33RHRwre7G5fo+3oy6CnmfX013Yk3IFDeVl1Uqa/Uw== 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)(39860400002)(376002)(136003)(366004)(396003)(346002)(38100700002)(2616005)(1076003)(186003)(38350700002)(8676002)(5660300002)(4326008)(66946007)(8936002)(66476007)(66556008)(36756003)(316002)(54906003)(6916009)(2906002)(478600001)(6486002)(52116002)(26005)(6512007)(86362001)(83380400001)(6506007)(6666004)(41300700001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: m1l+enpDGzydhuKGghXgIPtZ/lds51j6aQ9DEYxqKoxykQih0pHqkkVzQq+wLD2hDMDTQMHZgAPq6qORnbT8cPNhu9ry34s1xRai0Af8dR5Gml+DCXgIkJaRvGHMfrwMSFLHzkD1LGQmMK4g4wKjilZLd/LtnHRDSLfCbZwMLVPT5l59xAnXRyj00AmBw23/ixjcMrR2fMRb3B/rjUD/A7mT8ntXc+dpAX7l7RD2musEXqzXxGMKBEUMcEecvVJSDuQaW453U6Q4f2he6NH0MFLaC11gSeBOCNdtALNzn+PEAAQf2A+ge1vNH/klB5WLPmUxdhVOAq/msiSL/WW4kUzpa/GQd3KfAgt9nTLqfyF2BcYuk92Bq1ksNEHzEXxZ/rergE3Ao4Tt5K3YypsV3yE/nSq2ppIY8hE3JVTN3VvuHcKLqKyYiCNjx5UvNP9FvlVMauXNRZc8uxlwUjaL0cQr282sAhlTKRRrKJT1RXaCNsO1vE7pfp0b7cOV5W5wYC9M4BO1KNKZeMHJ7TTwCEPR7k2FNnv4g6ZYQzdPCdvGWVu8TJ7StMs7vJSg3uHqTYimdKmb8gC0N1MSUuDp0vRMpEngdZYDIS52/OcnitH2rVE9mY6LrwIDxawAF1EySv+qeLb6tCGovu5088nXfp90XoXIbJx412YwASgsMusYFJJJkIkSczDgxOXB1xcfxv8xFWZw6v8uZIN2AuEtET9I/45tvafNK8Uf9zCHjWX/7LdmE/5+qFVvOQxYDb0cDmm/QJQfi+LzNm+6+A2YhRcqMmxeo8wHj6w2kg1hpgSrvAQPLhV/Xjqs0XZtr0V3Jk1OUahiBZk35kZerkpst48vYlaybIFHGRyORPcROHfPVFwbl7ary/V1KAKGriZpjF/24IX8OFkCrme4jDn/3ZhvGsXPu1/7xF6M6ifXPzGqYTkcKNlalmreMwQmMII+GEM9MhOK66KoHG2KixBLK7Uozpk0UgstT2hTMCn/dQaEk3e1Fcka//P6MDbqbzTSAvFU6YlM9N4ZRQ30pxvbWAkxfJASN35JWWYNmwna22btXQByK7z1ttNuXRnmCleXAyzBnQH5KIZzbnQRX2WUVJmd4aXFCfai+ti6W/atQDqH1zQEbXO8yu++xym7UEQp3h4XB1N78rsfjphIagj/sM8fQk3YjIkKytAeUD/wqd/x/8O8OkLsybOuUcdR9bUtdmYvFuQV0RZe8/H8e2IUofrLKDqQau/XWdCx1lle5Ieh7HtKxUTNyOkbOn1+AiRXosCuJ4ccQQD/V5adGp3gMWw9JAG9aZbWke3e7xum3Ts+6GkueNjOMoPiX/4maRui1KNNKVcixBV5vdrsjU66cp0vX4bbYyQKZprmV4vLc3pREy5EWEc7Unf7J9VXQE3Vroi5n0X139Or7/hOj2S9Ko4p9BYK+ra+UgPPaXeMdrVt6XDpeyMf2mEzNjsBzZUwIwm4I/xbgTovK3v6waM/VjVo2m3BG9sUQP9DUvsmFQbCKLp4NCfA20+8O81HFpt2TwzAzdgdNBudALBkUvmXk1ZCNLnhxDFR3zYxIV0FNs/9c1ZPPiwZSbKoZIeeVY7PulwChKFQ9IR5LHMhKzkg9g== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: ccf54b01-7228-4126-0749-08da81eebd28 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:00.3156 (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: BvouOYJ/BVbwN1BjrfImdUuV7xjUPUY9VIfFsGgJbdpEGQU8oU0F2GPgTZrnONhiUgVdwMmVz4CaFWYT+fADFw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4241 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 a DecompressData function to entry class to allow override in child classes and to centralize the compress and decompress in a single class. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- (no changes since v5) Changes in v5: - Add commit to add DecompressData function to entry class tools/binman/entry.py | 15 +++++++++++++++ tools/binman/etype/section.py | 3 +-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/tools/binman/entry.py b/tools/binman/entry.py index 8f846e55b6..6d58410e91 100644 --- a/tools/binman/entry.py +++ b/tools/binman/entry.py @@ -1086,6 +1086,21 @@ features to produce new behaviours. data = comp_util.compress(indata, self.compress) return data + def DecompressData(self, indata): + """Decompress data according to the entry's compression method + + Args: + indata: Data to decompress + + Returns: + Decompressed data + """ + data = comp_util.decompress(indata, self.compress) + if self.compress != 'none': + self.uncomp_size = len(data) + self.uncomp_data = data + return data + @classmethod def UseExpanded(cls, node, etype, new_etype): """Check whether to use an expanded entry type diff --git a/tools/binman/etype/section.py b/tools/binman/etype/section.py index 48165abf6a..b9b2f25345 100644 --- a/tools/binman/etype/section.py +++ b/tools/binman/etype/section.py @@ -13,7 +13,6 @@ import concurrent.futures import re import sys -from binman import comp_util from binman.entry import Entry from binman import state from dtoc import fdt_util @@ -777,7 +776,7 @@ class Entry_section(Entry): data = parent_data[offset:offset + child.size] if decomp: indata = data - data = comp_util.decompress(indata, child.compress) + data = child.DecompressData(indata) if child.uncomp_size: tout.info("%s: Decompressing data size %#x with algo '%s' to data size %#x" % (child.GetPath(), len(indata), child.compress, From patchwork Fri Aug 19 14:25:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668166 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=yMilXOf5; 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 4M8PGx2x8xz1yg7 for ; Sat, 20 Aug 2022 00:27:35 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 95F0D84BAD; Fri, 19 Aug 2022 16:26:30 +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="yMilXOf5"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id F10B584BB7; Fri, 19 Aug 2022 16:26:09 +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 EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05hn2233.outbound.protection.outlook.com [52.100.20.233]) (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 EB35084B81 for ; Fri, 19 Aug 2022 16:26:02 +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=U4swYIz3vW3T5eAWc3sU1yPiBHcqhEKo1VQtPc++J2WO74BazV2ah0eQ/wbXlUQj7HQt9DfI7/d2CEfe7NX1T/mQNPPmU7PR6hXpGkzSBZZoL+EhJXDdTnkk74h8i3/4hfKM8QRxTcoiWfoHaQHKs0WtLXD44mSQQXnUcOpbJwljP8yMy67LqUQhK869HJ3409/xC3SaPKR3XJKZFvKb48QI7Vtps0kMcsjFX2WqmAWjCoh03cQjE2BUe7C8xLRkvTWXTZViHHOSZ7fTiuYVEyLqEtrgscU0GCLrQaLVK7El0zf9rOrBBZqcLT34z3zKEg8Df22Wgffjg7iQsBRYyA== 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=nZeALVqjiwLNRVuxSuQ2ML/HJa+MfjHgWhfszelaYp0=; b=aGEGgHogfPaYnGmAVQnu7cbjf99y0eVVFB8/BUsJAcXxW3HqMaPZtqfcEZ1z1P0h/b2z866USejvRUOTGHPlpoEoo7lcl40HuU//bg2+qj696Ybu/19LbaYNdeJps6Yu05hyaPuEwQNXtzBXbs5cw34Yn3ML/n/73Bt0Ou+i/7gCgcrTo+lo1kA/kV7Ya2Jsev5qFc1e9LGPNBsTtCdThgTAYh964JiFT1DXjh7BDmMunR7S9UKqvPHTrwSGWkidy2CN2HUGkUUrCehR1oSzCR7LnSLj+B1aBKij3c2ZR8QCHoW7XuTwcnmLzTQ3NQYph+5nCXRaUrJEQAJg5HiTiw== 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=nZeALVqjiwLNRVuxSuQ2ML/HJa+MfjHgWhfszelaYp0=; b=yMilXOf5W7MChASaa+CboHwtsFuKXfM973F2GDubYISkQsyVjAMu0OwKffk6XUADTiBSj/VJxTQFXKECgx2PsygkY1b4Uq3ZEOTz/lHB4bZmQFty0Yh7XOkUioV9+intqdcs/Mbjoz/MmR4tqd0KA07nhNThbvz0Pfatboh+WDY= 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:00 +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:00 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Simon Glass Subject: [PATCH v6 08/21] binman: Add length header attribute to dtb entry Date: Fri, 19 Aug 2022 16:25:25 +0200 Message-Id: <20220819142538.24847-9-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: 5e45d33d-8af1-4779-df94-08da81eebd6d 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: Yf5ctplBbjBv+ke2Bei3nJS8xRUl3Y8WBkV0xR+tqrZFtZx5yszjnE4Ke2hi4/8N8jMJIhXipiVmJMpbwnmvLLfZpBUKn15etgeC5/grhMR1EXAJunDJW3PVKvcV685BVHk2YCUf2dLzYFjnc7RF+VSHKuOuzz18AiFkjTSiUFyoY8hh/pzqp7+SHCdpwQi1wBtn6aN6XY4HfyjUgHggqdgPfpwmofShrDiNm310F0gm0m78hvMF1yiesQTtOMt+7HwRzw6q2+ERkYg3PS0HPONwYU2rVRG0PHJa5bZfC24Itr7mZXS5fysdR2vBuJCmBhX1xH1COcB4Rs2vtUqj2mJ4w1aRLHZYevd03oY1eyCxVV/KyYGlOyKDIcbjC+AYH4tEaS3KifZK825HAO7k4Oki28ZgRIZvJbnrlrXQvea4slct699LNkNWf2XEpXhe9x1RJIiU4mRa8x7Tz8Ie3xuEfkXTnKBGHs2gyfKaNKlZjItrmOLF90BaH+cJvSXVJmeYcjiTOuRYjBYFnbYHr9p7xoqnlC3ku7SKD0rFjNlou5dgMVSqPIrrpJ0mt55mEUIzDfnVG9EDHOlOZHmFmS4y5wZJBOUnC73cPG/LPsbNnDls6xaX9sRhrCFKJhbarEbzIQx2tlfNLz5pnW4NOCO+qBY6I/cC4TVisLkXtD78vWh560nW5+APn49y+MYVy/tjJyFpPpu20x5F3qk6XQKRQ9bEXTxpLPeUvLqKSmOEj0l/PhJzCqQUxLclyppY7gInq1C6tm6jN0sl2RdENrFeAHSqh9HDgE8ZqY+XCwdafU9oQt3pZON4Sd8zOGB6ceuJi3oYWp0WfS5zvDyFpm1vcltdoGqlzlLH6urTkJCvdCLmG/91lEovQlQSb4gj3/Oit7hx1R+yt28zt+RInW5uGT6gTsezrCs02UPEW27WduiCBXAMlJShaXIlhzYn7gyCWV/rDGWu+SCjN3RFPABBm8LGMzdP+emNgQt02DNbKk93U2e3+ciDQh7UxdqmjQe4H6cTv+E5T0VB0BNwv4ONGuT51ugdchfDFxb9TwiY6DWutQC2kfHCF6AraQdNLv6/N31ma62+FSjd5SsNh7lY9ezOhW8FFf/Tb4z4oWUuU+3SawjYMRWkf1gpWlGGjrTpyllpImqx85L/NJuRAdixwnts3N4kW/3JXiRFCc0= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:5; SRV:; IPV:NLI; SFV:SPM; H:PAXPR08MB6969.eurprd08.prod.outlook.com; PTR:; CAT:OSPM; 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)(59833002); DIR:OUT; SFP:1501; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: CIVqwysH1uAJhzGtcet9SagDgRT6zQ50PuW4ArqpDjCiW6Pb3SkqUJiRMfBaYkI1AE9+VjSoflzq6lFnq9iRIrmLPeFJzE6axP2uwJWVVaXeExe3vgIgQeLMqdOgD5AFLUnT6f3QAGBAhIKgcWdWInbnOdvAVZBK07LNMtzUIYSrahYwmLlQ6VtQQSFksykMh/2ljbgkQ8q9AEyVIXHqD8HaiFd/j7grC8jxkoD8ukS1bwT1GUGJc1HUwZei3gr8iI7ZS9ywODzguEKn/MvGwLtQfyDcyse+83+RmTI1WG7vn0rAics9H/tZ5ZfEpUAZGvVOOyvbDtcwnDpeTXipq7dnpKUUxvggSX9w0Cf7r38ERubMhWkREfNOb1bE9XIjBS42onnZCb0LUmtE6MwvvJwXKKlEz4HG/oAZAX/3KQL4ioVhikXUGTuFzIUKfuL3HGQAx1/ah9ZVFFCEHFexTNaOkl8XhcsICvFgNVrWVkCua2ilpYH3CmBh3YTr5WF/cABlczvkIx1+/AylcvOFyN6+Z60ghsnRv5QLIKYPYQo7s49yZuik9VOFD0plhr8O6T3C3QcKez43VQ9EvCo41Mzskn08lJyRyZ+yGsw8Vod2OYruqZ1PFWeT5H8eTfNLiF/FfyQAKZNg9fxSAWCZ+GXWR0DXBlPGPKH0ldQTcm0cQWEdUbG7lxnVqAHsQac7zSVUyZdX4o2pBy0ldZ/NQxWb0bHnFubJ04TxjhWruf75+JAjaNzBCwJLeynIbdkB/9LgIKi+vcrWTNVG48GymXQrBYU2kahwRs2WYBu5gSQ1+kTsXzjcATf1pLtLagBWKou/9h2UuiluGHp9DXrIrA80ezmLObKIcY/l+huTDx5L1Qb0ckSmy9BrSkIewfpr2tAIPtXP95EcY+yTjsGrzqVJ0HYFPJNFr5hHVBrMavN7vjOs32fWnITNR5oSxNSOojLS3qpUirhYkF+NOkgJhErH05MNHcQP58zcqW9dIf4oPT4SGe8YBCiFSZis+vruB7X4BZ2Bpw1Zajyz+DZHGB6p7onfisK4CepSIN/tIkgHSu7uA0GHf7PFt/C3n3bRIWBIbgcQqaWGf2j+G6ji0ZzRwAmSSXMUDAzIyBPT6dtvtc+uRjkA+3jOkVxbOiEawIlj99cN8yssVurgOUb1WC9b6Qu3Dc6FqnPSjWY6PCfDetJLr9oJFWURm6ASO1Xb5UgyEd8a6mhK4HJo8VZOWm0MAoi6hlP3gs52RsfJVx6SBLVF0zsBBCvxP9hE59yuykn7Ml+ha2gpZI6N7P0iB4unplySJWeJIWl7kiUew1RHZixeKQhW5u2rC6LtSefVAD6sRuJsWbPpkMKZsxIfHJWs2U4qWmObYYnsQfMrk4iHIGgJeHlg6RbbbPpYm3gqsAiWnF57T/cCEUIRjDBDXGH0vP+6/pCuFfBiQ//haGN8iivkqseHJvHuSFp4E44VvKNG/oyhwVn9G6b3Xd25hpN7Kj84ekPK+hiqBo3opj9sa1D5KQyHLfX2YlMZ9aND+H5pR1Xe5KOuOyJGMrktHK2g1DEPR3ebvtn8ag9EYVpGKj2jBDSXr7hPmakOdHLGOAMvEBE9HePstbBxuCCE2A== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5e45d33d-8af1-4779-df94-08da81eebd6d 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:00.7668 (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: k+kDZgdY23rglR0yA1/MEtDIEMMxF7gTiXg6x4RwbJj3x0IVoUQikicql55kCYtL4zoKIPViuSVevAc4CUkJ8Q== 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 an optional length header attribute to the device tree blob entry class based on the compressed data header from the utilities to compress and decompress data. If needed the header could be enabled with the following attribute beside the compress attribute: prepend = "length"; The header was introduced as part of commit eb0f4a4cb402 ("binman: Support replacing data in a cbfs") to allow device tree entries to be larger than the compressed contents. Regarding the commit "this is necessary to cope with a compressed device tree being updated in such a way that it shrinks after the entry size is already set (an obscure case)". This case need to be fixed without influence any compressed data by itself. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- (no changes since v5) Changes in v5: - Fix decompress Changes in v3: - Move comp_util.py changes (drop with_header) into separate commits. Changes in v2: - Reworked to make the feature optional. tools/binman/entries.rst | 3 ++ tools/binman/etype/blob_dtb.py | 27 +++++++++++++ tools/binman/ftest.py | 39 +++++++++++++++++++ .../test/235_compress_dtb_prepend_invalid.dts | 17 ++++++++ .../test/236_compress_dtb_prepend_length.dts | 19 +++++++++ 5 files changed, 105 insertions(+) create mode 100644 tools/binman/test/235_compress_dtb_prepend_invalid.dts create mode 100644 tools/binman/test/236_compress_dtb_prepend_length.dts diff --git a/tools/binman/entries.rst b/tools/binman/entries.rst index 782bff1f8d..c9336d1bb4 100644 --- a/tools/binman/entries.rst +++ b/tools/binman/entries.rst @@ -216,6 +216,9 @@ This is a blob containing a device tree. The contents of the blob are obtained from the list of available device-tree files, managed by the 'state' module. +Additional Properties / Entry arguments: + - prepend: Header type to use: + length: 32-bit length header .. _etype_blob_ext: diff --git a/tools/binman/etype/blob_dtb.py b/tools/binman/etype/blob_dtb.py index 4159e3032a..5a6a454748 100644 --- a/tools/binman/etype/blob_dtb.py +++ b/tools/binman/etype/blob_dtb.py @@ -7,6 +7,8 @@ from binman.entry import Entry from binman.etype.blob import Entry_blob +from dtoc import fdt_util +import struct # This is imported if needed state = None @@ -17,6 +19,9 @@ class Entry_blob_dtb(Entry_blob): This is a blob containing a device tree. The contents of the blob are obtained from the list of available device-tree files, managed by the 'state' module. + + Additional attributes: + prepend: Header used (e.g. 'length') """ def __init__(self, section, etype, node): # Put this here to allow entry-docs and help to work without libfdt @@ -24,6 +29,14 @@ class Entry_blob_dtb(Entry_blob): from binman import state super().__init__(section, etype, node) + self.prepend = None + + def ReadNode(self): + super().ReadNode() + self.prepend = fdt_util.GetString(self._node, 'prepend') + if self.prepend and self.prepend not in ['length']: + self.Raise("Invalid prepend in '%s': '%s'" % + (self._node.name, self.prepend)) def ObtainContents(self): """Get the device-tree from the list held by the 'state' module""" @@ -58,3 +71,17 @@ class Entry_blob_dtb(Entry_blob): # will still return the old contents state.UpdateFdtContents(self.GetFdtEtype(), data) return ok + + def CompressData(self, indata): + data = super().CompressData(indata) + if self.prepend == 'length': + hdr = struct.pack('; + #size-cells = <1>; + + binman { + u-boot { + }; + u-boot-dtb { + compress = "lz4"; + prepend = "invalid"; + }; + }; +}; diff --git a/tools/binman/test/236_compress_dtb_prepend_length.dts b/tools/binman/test/236_compress_dtb_prepend_length.dts new file mode 100644 index 0000000000..1570233637 --- /dev/null +++ b/tools/binman/test/236_compress_dtb_prepend_length.dts @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: GPL-2.0+ + +/dts-v1/; + +/ { + #address-cells = <1>; + #size-cells = <1>; + + binman { + u-boot { + }; + u-boot-dtb { + compress = "lz4"; + prepend = "length"; + }; + fdtmap { + }; + }; +}; From patchwork Fri Aug 19 14:25:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668167 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=ChcQD08X; 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 4M8PH65pZGz1ygv for ; Sat, 20 Aug 2022 00:27:46 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 2085884BD9; Fri, 19 Aug 2022 16:26:33 +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="ChcQD08X"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 44A1084B81; Fri, 19 Aug 2022 16:26:10 +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-eopbgr150088.outbound.protection.outlook.com [40.107.15.88]) (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 23B1B84B88 for ; Fri, 19 Aug 2022 16:26:03 +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=SaTT9SsLBBDDflNIctrl0oPjWPaox/W9Rd/LNc3zkIyY8WUCLuqTq5Afio5q4Vi1+Xygcc2KuGKp2dUMovyT55UAkxpOnpEtT8ev8qZsu4TlSLxCNBLzdTEzy9n4ScFVfQp6bEr3i/Pgf7zlSzcFcpFdBusljtSkY62bVLzsO6lvsBM6LJhFOIPdla585T4iMG2Fov9i+qiZhUTBSVqIp7LJbUuVwPU1QTICroWrrtnRnqnI1QBK4oS7oqNx9IWB4hbPzh0Bi2bbNh8Mrb4C8sdtWjNEc6LG+Hs5G4JS+dfsNNgrO4C9UaQ4A6EBwUoi+NoPV85Vgv6tr8yQhXz94w== 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=qKD3sQS6AucNaLjT1V130NEi+nhOsRt4H3D/tDshNoQ=; b=IYYQ6q1u6/JEg/Fw8TxJupggNCgEndizCk+IKnvVlXNnQI6GJLhvzTdK4/FkV/wpi9u3v/BOllPep8gz2S2ay4o+n7BqtmQAH4xAr+RNegYXyWAh9fOd8vrz0jS+bR7+aXG0EF+nOh5R4uEdrjQUD+JTMDMVJOI2ZBsaMrR69L7NdDP4KQT11X8D9RG25myR02c5Llk6O3+SWlzuVxGuO+Mh1NjP/mlFM1XP44v8hsoXgXttmQy0575PluzoiDTt8YlmF5orvRRFgNIfjR3vwlruPPVm8HYufcaMRwE128d7Q+vE0eJZKjIglW8LrJnpPqre1cexV3p0KEJ+Af3o/Q== 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=qKD3sQS6AucNaLjT1V130NEi+nhOsRt4H3D/tDshNoQ=; b=ChcQD08XPnfoG9gbmXWmIyOqfYsBVYq0Dz7DTKFgeLqz5Osz3GVgzDSnI80Pznl9fAfoqMkN8EIio6S8/gOhw7gPciXcF8UkL73VesuHUqxK5SNyoLUUzn91ij1vUgxhf1i2MWifAdv0H0z+7XQLyb39x/kQZy5mZDjpj2UIdAU= 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:01 +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:01 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Simon Glass Subject: [PATCH v6 09/21] binman: Disable compressed data header Date: Fri, 19 Aug 2022 16:25:26 +0200 Message-Id: <20220819142538.24847-10-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: d483aec7-26d7-46bf-cf04-08da81eebdaf 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: DFYA7ee1aAM+697nf3XlFRhXj9vR70hQd7y3L2s1Jh+eFiGpps+gHosmaVCwArvS2WF/N09QTowTKbTUqoLcX19vHqmsu09B7OjJRIgcNxeuLJHTEXWhq5Pa1HSWl962/Xm6SA+39DR0H40Ms2lHKCKG0+U2StcY8GrKinz/w/PvD4T0MT0nNB1LNu90s/VBT7dtUKWU+WjSuQrJNYAynGNdWNpQHDNyZrz6QOFSA5Y9HRJ/Rvzsn4pweC6hueCeJOWayITg+0LKWQcpCMFwu9E5sLAXOUcrG9nKoI5YqNqed5vVLDG0peoxOqtDBRKsn7IXPbQdEc9e8CI1UCHSP1KOGcqtzRV68Wyul2SVLiD0TOELWi4ADwr0L5m3/8x/FwMbufmO5fF1kvfizp2yvrdQG0ipkdxQ98JqSuO1Nv35v3nIbXnWUOT6Q2QXlMukPW5ZkEzbFdnQhFhlmRzFd2U50gwKTgTpT43aHmdlKhysUCOaxZqG/tpgvBK++d7I1pwgRbVcR9oB9qL/BNmJjnV/tQe626GXX9sWwZLjnQtTiMp4ySA7yP8WnGytu2ZdVJ2J4nTH7c0mElVthUDowxUTd6Ssce1A3/obDrvIEWzw+blypDVOGkyuWDaLGlSY8iGStwktecNnU25qdbo63W9lDdOgpbHG4B8fI7FqK90nknROtRNnfi4jQ7D3UPxdvYQZzLBH+1UgGJrt4zeXjib6O3mQLlKVuaKJkKHlXJ+F6CSkBTOnbVjIDZElNy+5 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: rzbZ8G39Ak6Ebs1tAADMQc/E7RRgKNRSzO3gEsWkbTcf+wp6SMNp4MTu3Qv4VHJTAp4c1RZDq6jqXe2Hpe28dRbOiHmHr0lCmbGUt8Cl+az2d8u7eaWTEPsyYmSdX7Sd1xqasGgHuW9gl3nUJBR4aNGHh4vzGTINfBFRmCURnM9BjowWF4KvcumykBcbQCe2lNL2hz7krUovXDjzuXHoItcEUYo9lwnqxr3+lsvnp11p8NR8s3XjHp3KhlZKzW2UlTtBn46jwkmI0Ru8QueRO8nob4fiLepMS8HiyeMvV07WqmJiZrrDOFoOrPsTasf+qs2ndopjCVMccfSSlQQ4Mun3FjmargjW1cZPgrX7R51RJwwTF1nn+q2NC1iOZjsTEBW4PIIn8dPYQZnqSTMqjUbc31z0H2iaHUIe7j9ofP9eesdUTPfchoJnIWBDFNDgesO6KDmmoUrfKtIe7ZM/yQvqAeM9lGIO6NHX34R+URRagzsKej1B2HFEIVsRQ7L0z754gJxGq3YCtYGhY7e66kDCBf994NkCKd3/V+hrDDtLjSeBrEV+hyH8MWP1ORLr40tCNs5OOXkRH1AoIfT9L9aTorOzTOqrdqhVPLWXzGMDUgPWS+9t15VQd+kKGrOP/yZI5dm8SEwXKxZuEGG0xTwBcxD+p/JyM9jCg7g0FDlpMwVxTqYUSoTDjSNqa5y6oFABult5J/HaN2EKLrhK3uM1uGa3Mfb0/KF6NiNg5V8K8pfpt97uMegl5uiZE42UG/03XoLxPTJyJl1k9cuypcg4V+OIPdVnsmGrS6W5Z95EbjBqwTUzdAak4SzK8yrZDob4atRCIahR/5OJNWIc2K4masoVSkHwBUl6UkPAZly140OCKtapR93XryozepY2OcKgkU1Y8o8+uzyR7594WbXMCMgxU+5bgkKS7MrEShDQAq8eN8AEF9BViADNUqYiRvS2SbayJr7F9egV/wF4LPvrGQb+CtKo0OU9rKPG43+Ml2ods43KF0jkPc62wMp0gk/ic6TU6+9lIKi9P5HVUS9aUWOUe6C9aDmB5Wg1cUjI3/QhW+7S0sneH2F2Wjq7DUpCjmUm7ryYTJ/wODri1ZGqR9cL8myFQlNapgsCxzPtmC/qX/ELXwpEogkNQf/se9xO+U6sLtXRWKWRUEa4N3/6UloBQ/GGmXjIk0odhM2aa5loJ9DxwBQ2wNAQ76jOS2kYkoblVUBMYYKvr0EcQmcAjBCPGdwu47MfH51QIVRH2v/4DFdtTBUgzQhYD2m0uZ+FYsWk+CuZfC1qut58cJVKNHLKJ6Gf/3XlIy6fCy7s3BA+JaiYR9RB6UG8GUtDolGVqwEPCnhn0qXTEOEVXh+6VvOce3lghY6rYreL4LeiAIOPyAmsrcPUFe4ZDCJNA8l06aZ4OTXq1je+YO/EhEVN0RuLVmVejJXoWRVttQ6zAxR90PExJGC9bqSall6Xp79bjcqCO8L9P/Noy405/vtxvbFbYd5Um1EwMDxFQu5G8jwsv9KAoojvjxk8wZ2bjZhHly7NvgKPKQz3NaAdtsNEpNbUMSyXq2wAP6J8Ro2BKMD7bQEdeonTZ/mBuUSEZvB0+/F83SV3saoa0EAbqA== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: d483aec7-26d7-46bf-cf04-08da81eebdaf 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:01.2055 (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: 3lsrsac+Cv5FoQO/N3Fgpgk8/9sNCA2TqJNLz8EUu1Zyvct1HoZ/4pmOwhn03C4q3doso1pQugkWIGaonrKUow== 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 Disable the compressed data header of the utilities to compress and decompress data. The header is uncommon, not supported by U-Boot and incompatible with external compressed artifacts. The header was introduced as part of commit eb0f4a4cb402 ("binman: Support replacing data in a cbfs") to allow device tree entries to be larger than the compressed contents. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- (no changes since v5) Changes in v5: - Disable header in testInvalidCompress function Changes in v3: - Add commit to disable compressed data header tools/binman/entry.py | 4 ++-- tools/binman/ftest.py | 12 +++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/tools/binman/entry.py b/tools/binman/entry.py index 6d58410e91..ecce721ac6 100644 --- a/tools/binman/entry.py +++ b/tools/binman/entry.py @@ -1083,7 +1083,7 @@ features to produce new behaviours. self.uncomp_data = indata if self.compress != 'none': self.uncomp_size = len(indata) - data = comp_util.compress(indata, self.compress) + data = comp_util.compress(indata, self.compress, with_header=False) return data def DecompressData(self, indata): @@ -1095,7 +1095,7 @@ features to produce new behaviours. Returns: Decompressed data """ - data = comp_util.decompress(indata, self.compress) + data = comp_util.decompress(indata, self.compress, with_header=False) if self.compress != 'none': self.uncomp_size = len(data) self.uncomp_data = data diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index 6e63b7c27a..edee1f3984 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -1967,7 +1967,7 @@ class TestFunctional(unittest.TestCase): self._ResetDtbs() def _decompress(self, data): - return comp_util.decompress(data, 'lz4') + return comp_util.decompress(data, 'lz4', with_header=False) def testCompress(self): """Test compression of blobs""" @@ -4427,14 +4427,16 @@ class TestFunctional(unittest.TestCase): rest = base[len(U_BOOT_DATA):] # Check compressed data - expect1 = comp_util.compress(COMPRESS_DATA + U_BOOT_DATA, 'lz4') + expect1 = comp_util.compress(COMPRESS_DATA + U_BOOT_DATA, 'lz4', + with_header=False) data1 = rest[:len(expect1)] section1 = self._decompress(data1) self.assertEquals(expect1, data1) self.assertEquals(COMPRESS_DATA + U_BOOT_DATA, section1) rest1 = rest[len(expect1):] - expect2 = comp_util.compress(COMPRESS_DATA + COMPRESS_DATA, 'lz4') + expect2 = comp_util.compress(COMPRESS_DATA + COMPRESS_DATA, 'lz4', + with_header=False) data2 = rest1[:len(expect2)] section2 = self._decompress(data2) self.assertEquals(expect2, data2) @@ -5219,11 +5221,11 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testInvalidCompress(self): with self.assertRaises(ValueError) as e: - comp_util.compress(b'', 'invalid') + comp_util.compress(b'', 'invalid', with_header=False) self.assertIn("Unknown algorithm 'invalid'", str(e.exception)) with self.assertRaises(ValueError) as e: - comp_util.decompress(b'1234', 'invalid') + comp_util.decompress(b'1234', 'invalid', with_header=False) self.assertIn("Unknown algorithm 'invalid'", str(e.exception)) def testBintoolDocs(self): From patchwork Fri Aug 19 14:25:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668168 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=UspP7DN3; 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 4M8PHQ1wzzz1yg7 for ; Sat, 20 Aug 2022 00:28:02 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 0E75684B68; Fri, 19 Aug 2022 16:26:36 +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="UspP7DN3"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A32D284B68; Fri, 19 Aug 2022 16:26:10 +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-eopbgr150088.outbound.protection.outlook.com [40.107.15.88]) (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 5AA1784B86 for ; Fri, 19 Aug 2022 16:26:03 +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=Oe8KUzdwaJF29Q4GfDXt+iwoXsWId7Bi6FpgUGzwAwmksL7miT0sx05UxG6Hoo2fMiGaGJTQOsDasO2FWJuXecNxShJW2Td7Lfv7fEDXXudTVkMbWx5wD+IlTR8Tj0Yv/5Ct8XmRpY2R/3YeDV53083u2D9IHjjQQZx46D7FEWZ88vj6KOP0b6LZPUDN2cf4kLuzDpuPc/gUjCSpjEkRvAptb0fQ5UiYPsEWlXsrvhqID96cjZtM4wCUuaFlmdVnY3lpMgMWfbVc2NmEU+Kd3whwKBNHe37u/ST7/2Yz+9Fr1Kusu5WPBzHqiEidcngmRRVCL658NH2VvSfy2eZdYQ== 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=vpQXkTtejc8B9MSuXlEAaREfNIUZvNI5GsoOlgsN+eY=; b=O+oOPVio9cDKE04L4D5T2UgyL6yCfufmPBUi8MzNHRcvdxPUMZCep0SAZ+xB1Dsm/zqeq8uJDGMDoe1S6JTuL2I4MjeKpgfSSLJS6SrV+sssdh+0FUZrRLip6DobwOFS4rrbJzF3HuB9Jc/pEQoFmAgm91mjDLQtESA4ZEdaOg4MGiINZi6m7uQyYKOm5Fz19FikuBY5mr8EQpi8kh8A48a/Afw8WRobIFpWq0QNXAmQOmxRjke2iXhfyx3pHhHvHYBw8caWhYRk+ywFpn1EXcOYtlDAZtjzFeXl7s6ThBxGmrtbgVNOBo/HakFnzzaCpE8POsPOlBxy0XggJxlN7A== 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=vpQXkTtejc8B9MSuXlEAaREfNIUZvNI5GsoOlgsN+eY=; b=UspP7DN3GTIe6aQbIT7Yz5KGcSaKQ2CWXk9ameH8IgeZ7sHyjsys82s9MlP4I/mZsVqFpZOEl+0ijH0bqdJts/98bGptWZdNelRC/l0a3mQvkz5rA4stniIikvid3EPJgO5ErEa5+oYRRv/6QSTXNk7dw5uVidf4ZN/R/ka8Qtc= 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:01 +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:01 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Simon Glass Subject: [PATCH v6 10/21] binman: Remove obsolete compressed data header handling Date: Fri, 19 Aug 2022 16:25:27 +0200 Message-Id: <20220819142538.24847-11-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: df719c5e-427d-4554-f1f9-08da81eebdf4 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: 2Gn8hMVoNEmhCt0NUwBKwx/a90tg2hHA+whfrrOBtbVoYBOUTiIpaVKt59uHN4ab3b5NnLos3D/U6pXIUrGFLJRI4TdtlNaDrQIg+wjPoWRhvcR0CWS9cXOVzr+OIOWIZ+u+D1xM3j208v6Hamp5nXHhLkO5QTscyVajoBu3qtucsS762T6w5pxzk37by2iyAeLmEE13XOh9WjkH+cYw4Uxth12oIpYBFpzKuUhtDeIex8opgPnZpFiJ+A45aeShu2bBbgXXCLAajd1gcTO3o7EBne3Wdjs+gwShzABf9R7qiJMAh0I9bB89gv9dtaZdKWQwJk96BNYt+t5WyA4YKfAjA1a80YFo2xDpPTbjM3R7NRZw8CCoINO5Lq0tC26OOWlwcSSrOIOx2XQ+VBMnmVpSm3Hehjx1vgfVDupPF3/um2XpyMvQmkKrUUyXy09qdSKrtr5pl7Bgx41qzfl9etoi5VQ9/9QDrvLRj/wlVvsDQk2psGvf42NpoOLHNPx8aS7U0fBfcQpI6RfeekxsNrNSnLCMfWJKFSH3rNoS8+cxqDqylJGMX4YEYKZMNq9SJixJHKNBUceP7FFW+2VuUukpEaJmib2V3eJBCGzBHIlKCrXhfGVEjyfEmmAOa4jmUhDFcS+0lAo2ql4gOjJUwvmVZ21Z7t5FiOMYQEMS3Xag6p6tDs1y3HGvPeI/VQcMHPswKK6Z7q+r7/ZWuZyPqAnwkaWy1CTCe3BdUBqrx3GOPEJd1cSnqcwqPZPD3Lpk 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: W24Ka+F0XTwSB53OQ3QST5AtPZChdjJ0NrVzWKabibuNsseETquiSNcglFy7RcfWEAaBFCjmhO5CvwrUsCbZaML2MH9wT1cRnkTBPgM/N71A/gg7ccGUCxxBmmzeFFegGgXRUks8dzp9X6eRniQHAdboJXyBhqbojVdp1AEtMdHcRJrtFstnRVZNjVU5Kt/MnYZIwkGom9XfoOHSRd81nTULdRNYr8R2mPYBTxExORFX2fw9hGjhE5BD7QgyFZEmA+RpuXp3qRuG/aWazmHOxiu6zZJicCBSgFWBUX8eiLtkRmPRS1NXSeX4oN3bDwxL0+tkUmG/0thihWCXMgdzxQbV7lCbli5z3NoAVh6Jmn6UYdxdla2F5WjPKTXbzNpBfsK5sK3+gIdbAJOvB88O0wc0I8PenYRqcoKL2Y7uLTHo5+AzmR4lh9YgSclcZ7xo85JKo3Y/8ujav/XVcTnCn3iStNj+87W0gu8tXQKLZrMkmbEnGWnqWyRV0WIczUdVhNmdUCpUb0yEQdV2VTHM0NtHHdeMs6FXtasx0/j5C3GA39rgUDYbPW7nfxwNWdejyss8YYXF3CItxl8prAHDTvn8lAMKn401k6bGPhp3rC9YNhMwpQgL4x//a0DUwGqIexWFtR/n9zuaOYqKOqAcXtSfVDLwRocBypH7RsW/HWnzfVamxGHokQLtzYzzdo8o247nj3LuUp21dR5hBgEdqUw/KrEbLJ2pG3c/QbmMt1H0Q8i2pA5iFHMsg6Qq3pC1rNaFLEkxYNSdAeOOWFUncMMS1UouWU2TRA/tlnRy/o6mbvJUM1QX+jjMnUc0cdKMBu41NwQP5GtD0MCUidrwfFxszFizmzi5thWbTRIXf91LcNNC5c1PGpuOiTFlSmsCOhHMVAXw87qzQWm7eCQ73JFJ9wGy1fI1ae28qWF6778H84bMkbXDZkFWTrO+hF3rtbiNc4xGAVbsHGQhVnNx0yjRwxctv4XAeCtw3QTXVGTAFSkbhEbpUrAjIB/hNcir41OUTmgr+DAZZLKbL6P5dXjWqc+IYQIiYnpAxNNk/CkEvxBWGqoJlyfnvo6xlW7wsNu62ppeYiMNbD3u3YV5LfK3X6GZ8dvBSqNmnZoqGxZ2/Or5bMxfWKf6roeekul/lU6NQulj0X/3RyZ187mGAnYSzD/tqO0i9+Zy3NO1xM4wSJHiq/0H9RogAXucjBnvwc6w7eM2dBdFSU9Ny1hJT4mm+9XsetkM0NgucnxYSpscAKk2RGVFT/aCncMWd2Et2DT2b9GGJ4OvVrJKNBJKkoC0D4UVmVLy9cC1Te5dPz8GcgTIYir/iDY2vq1T4C8fY/be8LWRjaamif7bS69zMjCQypXFDobqask0Yesr/v7j+30GEjYdXseHUU6Y2DjSs8aqrZEe0/eUaEv4cjbe+0UCJd2a26J0ICYu3IJBkJpEFtNueAH3kvMC9CXw+pXkLhFyUoURYPonZOBCSp6Y0SvNV6C3HC6pAwk3vKv/TEe+LHjkquMa450JLry06GMgQcBqkeUNhERlXmNRgEVkTCyLVT9VfHi9uCCKPFLFCFFndoiWnUq7Ly0YY8KFCx3r3nNEfwx9OUlWAbwJCxGymw== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: df719c5e-427d-4554-f1f9-08da81eebdf4 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:01.6429 (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: GCC2AlakpwZ1ws1yWIeWHac9XWpzFyDZbcEIV2s2xI6CMlExJew6/RhkvXDggKLIJxhv6xuPtWjOi4l+Rphoqg== 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 Remove the obsolete compressed data header handling from the utilities to compress and decompress data. The header is uncommon, not supported by U-Boot and incompatible with external compressed artifacts. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- (no changes since v5) Changes in v5: - Remove header value in testInvalidCompress Changes in v3: - Add commit to remove obsolete compressed data header handling tools/binman/cbfs_util.py | 8 ++++---- tools/binman/comp_util.py | 11 ++--------- tools/binman/entry.py | 6 +++--- tools/binman/ftest.py | 14 ++++++-------- 4 files changed, 15 insertions(+), 24 deletions(-) diff --git a/tools/binman/cbfs_util.py b/tools/binman/cbfs_util.py index 9cad03886f..a1836f4ad3 100644 --- a/tools/binman/cbfs_util.py +++ b/tools/binman/cbfs_util.py @@ -241,9 +241,9 @@ class CbfsFile(object): """Handle decompressing data if necessary""" indata = self.data if self.compress == COMPRESS_LZ4: - data = comp_util.decompress(indata, 'lz4', with_header=False) + data = comp_util.decompress(indata, 'lz4') elif self.compress == COMPRESS_LZMA: - data = comp_util.decompress(indata, 'lzma', with_header=False) + data = comp_util.decompress(indata, 'lzma') else: data = indata self.memlen = len(data) @@ -362,9 +362,9 @@ class CbfsFile(object): elif self.ftype == TYPE_RAW: orig_data = data if self.compress == COMPRESS_LZ4: - data = comp_util.compress(orig_data, 'lz4', with_header=False) + data = comp_util.compress(orig_data, 'lz4') elif self.compress == COMPRESS_LZMA: - data = comp_util.compress(orig_data, 'lzma', with_header=False) + data = comp_util.compress(orig_data, 'lzma') self.memlen = len(orig_data) self.data_len = len(data) attr = struct.pack(ATTR_COMPRESSION_FORMAT, diff --git a/tools/binman/comp_util.py b/tools/binman/comp_util.py index dc76adab35..269bbf7975 100644 --- a/tools/binman/comp_util.py +++ b/tools/binman/comp_util.py @@ -3,7 +3,6 @@ # """Utilities to compress and decompress data""" -import struct import tempfile from binman import bintool @@ -16,7 +15,7 @@ LZMA_ALONE = bintool.Bintool.create('lzma_alone') HAVE_LZMA_ALONE = LZMA_ALONE.is_present() -def compress(indata, algo, with_header=True): +def compress(indata, algo): """Compress some data using a given algorithm Note that for lzma this uses an old version of the algorithm, not that @@ -41,12 +40,9 @@ def compress(indata, algo, with_header=True): data = LZMA_ALONE.compress(indata) else: raise ValueError("Unknown algorithm '%s'" % algo) - if with_header: - hdr = struct.pack(' X-Patchwork-Id: 1668171 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=f46fICkt; 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 4M8PJ36V2Vz1yg7 for ; Sat, 20 Aug 2022 00:28:35 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C3DA384BF3; Fri, 19 Aug 2022 16:26:43 +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="f46fICkt"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A73F584BC1; Fri, 19 Aug 2022 16:26:15 +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-eopbgr150088.outbound.protection.outlook.com [40.107.15.88]) (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 8FD1A84B89 for ; Fri, 19 Aug 2022 16:26:03 +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=ilIY3+a+cP2SOYqNmJGpY7APvZuk0jFRJ5RkchhIOVbh1jKYNcTrRiJxWyjANo916EdXsyIWV2KlkcLVxC7eR22nYkXyBp6Tvu2FzIPn8VBsGFsxthwYXxaxC6Am+8GTCX4uRrhqOfuUYBwx8vwcQDF7M5OM3Olc9JeeazGKWn3jL5/bx7UmazsguVCjZdCMqcER4EZnvK6qgznOEJ8fqwQlaz5gXeog+8VoN6Q19gdBH84TbY4c14rY1uOf2Xwimd0Qka3xlw6PFZGVJLxqTHqhndjK0eX2Czjv0RyI6NAtmqlti3QG7PA2T/2PgIeifjcln0IWhByUQ/2jN9uobQ== 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=XkvaW8VoCEo0wsjXrjeYFxpkcDVrYf+oxgtC84Pc1rI=; b=AwKro2I4GvOoEc6Xor2h/uK3QLTMlc0nniqjOHaE/lP7pbpQyVjdGMMd8o3KiFcTxXfYrzuXqb62dYKvkqdxNpmD9ZpEmvirOuG6o+ciTEDcpvW92KpuFyhKCmYmDr3ZhrWw6RIj/q034WcWgfOxsTQX7yq1oSyh2zgWc8g9f1crxRCH9jNaXoflCQsIZ3WUjuuWxJknD+m8upb1HN3EAOl4hqWqrDcQHLkffxHT2etEAM3DVMDMNk4iglsrOlvJ12/eWsGWzPX3VsGMv2wMAdNIhblpN+mjMWCpQCtQh7vugKSXh+FBESOSWzIbNVKay8RocgoinjyJnu10gPhbwg== 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=XkvaW8VoCEo0wsjXrjeYFxpkcDVrYf+oxgtC84Pc1rI=; b=f46fICkthkImA9PwY7e4eoWBWUu7bQKiD0YuH0lSdEEQme4MUipJWD34Ky/ZYdIAJQ3JWVO2pphlQBDX585+iiQ5Y+vYVQ2MGBTgW1YwEBeFPUwlkUPPd5+C0s4K3LCoyOHpQTP5h3Yv6qYyU+oAZ0HvO2SbBxDvGysWiMgZj7I= 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:02 +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:02 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Simon Glass Subject: [PATCH v6 11/21] binman: Move compression bintools creation into test setup Date: Fri, 19 Aug 2022 16:25:28 +0200 Message-Id: <20220819142538.24847-12-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: 897a9422-74a7-45ad-1205-08da81eebe3a 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: 6dMpw5dLv6E6vS7BtS/Wxb4QdsXcjWbtOfHN90b4trT6o1XEd+sfqDkcw4Q/Kbcf9vSWVVDr68eaZ65mdaUyXb5NEMpONrP/gBlFJOfoQSAnQE8xfuzzA0sVY6+c+m2Lj5/mIZdXsR1KkJS/+8q1bw1i/lWK8aVYVns2zsw72MleiFOuRJGBk9RXfNhrM9c06v+99m/pIW/tpHMGEjTwqPJZwVzUuF9AgOpKhb26QEMkMySC4c6b22Fdp6l6H2dIAQKwo9KyO1LskiVP6woSkVvLZyOHRdE4KiceMiYw4r6Cdg0xgogXpeRWs/q8D2/KbmL0USDpQFE1T9nqSh8Y1UVkT+9NnMTVLwAUwprkCdNz58I7resqsTlwJtBSDTXMSmgKoYpLGOr9poS6+ps1In3lTo8Ngdg3DuEKZNK9Rdz6rKVj+HwukRxXFaCGnL1hBeHhaz7aKVs3a2Kupol3MFDpFYA7DqIc9h1m6A3bkSyKIWrqa+IXl3gFh0usFTjoTxFuaLpsg2ApJ4KNalzq9OTrs/0cYMp4+UT1jjk5AiVqTtSvF9Z6nTaJrz2XDGJrEtfJcmYAgMEvVymNNi29qRHXY/jMpLGVia/25/Em9KWFUB5xTOdFUkdlrZPFR491QQe4Ove85RH07hLnK+scJeIexSaYDYFrmh3tNNV0BSVEv1bKrjRbddhtK8+ud4P+0UpTagce7rB2Ubt4rcUvPgBRu5gEL2S4p8xgBRrMpdqMLDXY/PhtUWoDynOcqTyvw6UbB5OGcahDGlg9iKzUTQ== 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: NJghZPhE3uepc/CQPp7lRSLuP27AeEfsqe8UYb9zqptP66t2zjGXEXCOqi9TTIwD/8NppMZ4IvdFHQ8cmxA6/s3y/gDt88KYorzhg8S962i3DGm8k0uCNlvNguVvqgssgDvUIWBV+qx40LGzwLg5m2NzwliIYptSLKB0VwLLwGiLFU19Aa1J5zoLOKfLTvGy7ezNU8hzvaEcAjlAY6VPE4Dm1ebMq9Gb2tmFqz2aZOJEsggzyiI+s0KjxpT30fHx0BzRduqBB0paQyyGKrSoLoQtUVRb8nR6VFnNCdsj5he0SleMjXvQY2E+2utbPGiYHCJoLhdw8x8ycGkZmHDHtU+nTxombt4XyuZafkPoEAYOg0JRjOmB0eq9QdJVx6n19GvIcPZ0Y3tZKEmb7zxEJ7loZDzeGJ0rRjmC+wOz8Q2Lagbq8YtkSGDWvoswmVod2xT3uGrXfcrvEWC3rf4E/vxyh/jGvQuTgmzVIdxJl8Xz3xZZpexjByOZy+QRQ4MM2wrBSbehZNQx7csVOCsZplwk7rbMiMv5ZFKy/EqUkNqYaUSbKmXA8+d2+0OSd9yYURROqs05nH3FDmwnhpkrbd3Np1veTmy/sernAbdrfPBUlTOSM47O3FCSleeHpC6fNKsqyv6ro2BLXkVEXf1iYLw0to7hmFlrhZdxkHIj9I1mCMrd0b2PLW9xOLG8iINr5B2s5eNNxkKRqL7F/fWspfjFN3gJi9r2kYAnmzKt8wv9YL/PsObH4OKrpiXh3/AHLAU9wh70A4EC5RnTK0HU2nP8IAsvmQeL1DisWNzSFYH+pHqFcuoMAg1/2MMTDCJLlAJl9TY56W9837h2anTBDV4DOyApEhYL+kRcN+eDgFQlxuwm/T9m9HRkxX0md+wpSqbdp0yG0BPDamHG+NlrVC9m15CLO0BgYD12dN5HKWgTZ1OSugoCRsf4XyRxxZ9zCvXFreFtCf2WY6f8GaYjSUWyGEigmPeXFlxxeU5M9A7bzoHjNLA68a1bs1wXJU7dGqH01ZEcDLYyLmg1JTnrk9B/viTZDMB22HPnb2DRuaFAY1onCBNBiJ/dRodSq4PyxsUkSZz0jDZAhdQu8PoT/9KN0p7Q76ns0VAHrYoFRKl6g7CDNxx4fjoN32iQJn51xFENRGK9WOexwm92Uhkd1FDCJ83lIHHs1Vn0xZ4Jtdg9jDNB0VIRwtjbN9Yoxo0KpUTFOcO7uzGYiYrR183xnTtpzM8eLb6s2BA6NPx86j1uZojW0GeQWv3RdHBGYr82sQKxulLmQlztWlyl1aDwj+iFmCqFBg9yzUCPm5VNEQfBFQ/mbGK3V8EnS/Z3esnkBvN7INYcmJrGHuyGZx6VMjXfwOQOzEPsx7DdxSTALxxXbiDkRsZ42nc97Dx9WJiJ66fvgSGGZDK5FXt7gpsKICCH6hNhvFOhaJr4ECfi3gNHPNOJgmz8cuZUO383NmGWWz+4yPW00CUxeCsvdcbJjzbx4D7FrdPhYg5dC7ntRJNXD2RJVy+NRka4uRq0nv//fqz8EwuhRj2Ceg1CklKL2+v7oe3+Mjr9eO+lps7kddln1jNBudzO+TarQOJiI5lvz2RxbDTm0YIvEqE4J8lO6Q== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 897a9422-74a7-45ad-1205-08da81eebe3a 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:02.0960 (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: uKkQwAkBKiqIdg0ieG3dpVAjjQEtT0kH2orwswklgMkL8aQHOUPNvSJ1xqlRaWMFmDuAE3Mfbiz3e2Av+8gQzw== 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 Move compression bintools (packer) creation into test setup to reuse bintool objects between tests. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- (no changes since v5) Changes in v5: - Add commit to move compression bintools creation into test setup tools/binman/ftest.py | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index 1538ca3c4e..7ab9289a88 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -23,7 +23,6 @@ import urllib.error from binman import bintool from binman import cbfs_util from binman import cmdline -from binman import comp_util from binman import control from binman import elf from binman import elf_test @@ -107,6 +106,8 @@ BASE_DTB_PROPS = ['offset', 'size', 'image-pos'] # Extra properties expected to be in the device tree when allow-repack is used REPACK_DTB_PROPS = ['orig-offset', 'orig-size'] +# Supported compression bintools +COMP_BINTOOLS = ['lz4', 'lzma_alone'] class TestFunctional(unittest.TestCase): """Functional tests for binman @@ -212,7 +213,9 @@ class TestFunctional(unittest.TestCase): TestFunctional._MakeInputFile('tee.elf', tools.read_file(cls.ElfTestFile('elf_sections'))) - cls.have_lz4 = comp_util.HAVE_LZ4 + cls.comp_bintools = {} + for name in COMP_BINTOOLS: + cls.comp_bintools[name] = bintool.Bintool.create(name) @classmethod def tearDownClass(cls): @@ -242,9 +245,13 @@ class TestFunctional(unittest.TestCase): cls.toolpath = toolpath cls.verbosity = verbosity + def _CheckBintool(self, bintool): + if not bintool.is_present(): + self.skipTest('%s not available' % bintool.name) + def _CheckLz4(self): - if not self.have_lz4: - self.skipTest('lz4 --no-frame-crc not available') + bintool = self.comp_bintools['lz4'] + self._CheckBintool(bintool) def _CleanupOutputDir(self): """Remove the temporary output directory""" @@ -1967,7 +1974,8 @@ class TestFunctional(unittest.TestCase): self._ResetDtbs() def _decompress(self, data): - return comp_util.decompress(data, 'lz4') + bintool = self.comp_bintools['lz4'] + return bintool.decompress(data) def testCompress(self): """Test compression of blobs""" @@ -2855,8 +2863,10 @@ class TestFunctional(unittest.TestCase): def testExtractCbfsRaw(self): """Test extracting CBFS compressed data without decompressing it""" + bintool = self.comp_bintools['lzma_alone'] + self._CheckBintool(bintool) data = self._RunExtractCmd('section/cbfs/u-boot-dtb', decomp=False) - dtb = comp_util.decompress(data, 'lzma') + dtb = bintool.decompress(data) self.assertEqual(EXTRACT_DTB_SIZE, len(dtb)) def testExtractBadEntry(self): @@ -4427,14 +4437,15 @@ class TestFunctional(unittest.TestCase): rest = base[len(U_BOOT_DATA):] # Check compressed data - expect1 = comp_util.compress(COMPRESS_DATA + U_BOOT_DATA, 'lz4') + bintool = self.comp_bintools['lz4'] + expect1 = bintool.compress(COMPRESS_DATA + U_BOOT_DATA) data1 = rest[:len(expect1)] section1 = self._decompress(data1) self.assertEquals(expect1, data1) self.assertEquals(COMPRESS_DATA + U_BOOT_DATA, section1) rest1 = rest[len(expect1):] - expect2 = comp_util.compress(COMPRESS_DATA + COMPRESS_DATA, 'lz4') + expect2 = bintool.compress(COMPRESS_DATA + COMPRESS_DATA) data2 = rest1[:len(expect2)] section2 = self._decompress(data2) self.assertEquals(expect2, data2) From patchwork Fri Aug 19 14:25:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668170 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=FndkBYS8; 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 4M8PHr6zYxz1yg7 for ; Sat, 20 Aug 2022 00:28:24 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 218FB84BE3; Fri, 19 Aug 2022 16:26:41 +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="FndkBYS8"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id DB4B984B89; Fri, 19 Aug 2022 16:26:15 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, T_SCC_BODY_TEXT_LINE,T_SPF_TEMPERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150088.outbound.protection.outlook.com [40.107.15.88]) (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 C843E84B8F for ; Fri, 19 Aug 2022 16:26:03 +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=Honcw4FBH91cWn3psI/tPBZ8Hv6fTVnDZ+BrK4u1mZ+JdF4R2hRTlPwrJWwqNnrtkz/VjvprFmtDGjgPR44SELUJcfoLJCPr4NQV2MhdN5vlu1thnjRGJS4gFgf2CYWXjUqBzjoZtBtKWaSCk8x4nenxs2apUnj9k0KrP/u0Px0gczzD344qAgIXmjTbLk9unn/P8rGqMzHqIXBeoSVeN4nU6CvZuZMB7S/+FiRnlalAV6bJDUELzXpN5tOZu5tooBQzYTMCahi5sNIiaA0ElDaERewhB/R9GQwLFKAbqUyZQ8SkCb9AGWQwVSeEfM8xlaPC/kZkk3AfYD7J8D8piw== 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=PPAuZEco+4tlLffGrkbeOzkVqzuO0OjAIA+loXw0u+0=; b=bGOXNqiaa0ooa4OjAPwTpI4ds949oXed1S1WEKsY/Un1Nd3P3RZjEPaQ1WgcnMHmpO8x4/Gyg9leAQUXDqMUDifb/ao6oagRxbKIDiv+icV/+faCpEuE4IaJY+uefydl2w7gPxfr9ystFt/fvwcaUxxuPQnZw+Rfh6hZRsgPpSufhxA2xgeHIDnlNe0fc/UUtUZ+UrxO0SeD6VhFiGuc6EXw6y2MOeecdWaorffyXd3UBtwpWURiZ6PX95EbseJuBn0WQ1ugEMSaEo0AlU7nYiNmSSGevjo5GBFfeo283Mo+pkNnPxGwRpxWne/gN6xmufNVnk7CAOf6wau1h6z5Ww== 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=PPAuZEco+4tlLffGrkbeOzkVqzuO0OjAIA+loXw0u+0=; b=FndkBYS8M/3ZEBGWRxvtlhYERNvd5BY7iBO+PAGwNUz6XtcwdDXhK5Tb9hD3yJ6MmbsPTQ5U+GfKV95LDGjntQwX8aFDkOo03dRzRqBkRDKfMLiF+PPr11rzQ5bJyWzsC2MsFQ/GTwLxndmZULqo8GH0FKqO/G0c9Fo16sa5FOg= 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:02 +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:02 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Simon Glass Subject: [PATCH v6 12/21] binman: Select compression bintools in cbfs_util class Date: Fri, 19 Aug 2022 16:25:29 +0200 Message-Id: <20220819142538.24847-13-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: 21f6b2cd-976c-45af-d3fc-08da81eebe7c 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: ed/nhTU6xVcHrbcMUL5gk2d8sLYvwBHr/3Ch3okFpHoEgCfZ5jhcwaQv3sZ84sEEBJPAkrVvmRTO/MqIFPeCNfrsu2x/VFBsonoCGt7s8Uzszg6CnqqYUEb5ZUZXZZVcRLDhn2vcH1CNY7dgynkKsCmEQVv2FGaxPqtGZ6kSZJU+q+KUrT/RclovC1DIi6legcwcZCYHqUtuGRbfonJesoIULMawmzodXoDP1ezHnNkN7sXmfRwtQwmdvWtlN21Qz02Z+Ke7/Io5TZt+G5tq5UGSlWpbYLDRAzF63WXAAozx8UjnGqC5TAOltQjzw/0b9pXpNSQGWVxZtpFzWLdJnIpB0ulh0byzeuldxLiblXPx1CxxZO1EtGzwh1Q9sc/6QUkSi/Mn+0eWOKxjSbgxhRgYOdeLCqOS2tbh6Xb3vFscPgn/jkghY7beJfiGEPrffEHN4XlFFKvgKeHvLfTJzgcKjlpkxLGGIJLCPFoLlHKeNmtZbASmEoF/zA4ACXCPCpy7hoivfVuxAAiH7oba47veb2Igu1Y9qpxql5XqUPBJvj/Bl4avV9JGO7GH3V4cGFAO7r0wyqLnDWxRJWGz4t1eWwKOHKio5wE+FMVhBohebFZOEN6TKnOaKDRMtZ8/wsmZmvIdkYluTei4Oi1roV3pZ6JE/QV4TQ3NWV0tGvph8ZuBJi/lg+6z77zItKqhGR4XW9IpD8JA5FC8WkotTMRU1XqHL7YMroejg9olaxHxCny8OpULcDgum5Y/kgtd 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: LHifDb9AxP6c4RFXs6fZbKvi5Qa9kBI0HsPFkLe40dzXrIq0hh2IMNIrB+fByUp82izAB+/BON6Bz/QFyLigWmvxdT59/dGML5FKcuItHQnwQx+Fzes5ckxj4yuyigbJRl0hEi7QAYo++v6cueTxpufSX1VZ4y+EQvYn6bfvwufvOUL1AssxAX/h0rcXOfl641ymlQ37xJ70qIj0og25ShkmYx7cyulctxMNDDFtn8Nco6CZDeXY1gfub/BGSJiwBhs8yivJd53gsBt1RtLNF24uvtzmuB047wGa+/0txids6GQVXfdzyHJyAo0jmjGG6QE3yTOeM7yE/hpjMIWmccgDkpn3d8i3AdXICzWrKU6qwNWNudeGMwVohrlLAM1M2CfKqM9NGuWBg3o11PDg5hiFrQOLDlKw93KdXSdiYqeNjbb9FjG9K56BzMgWff/29PrEe6u43ay/npJcNuTYTLqMw6nP5JDWIJRlhmijaCZp6YKmMzo/yxPVaynHjaTPJoLGVgB0w3rG4cr8nrXJegHeVsKEpo327wrJf0gb7Dw4zoOPiiFuG7AOp5fEamWxOlbEfiERq05EXnKy/shj8rvLWbZBImCwTy/KCj1+/215MJ1/iJ1p/UXqYeSwYS3kCXRue97jw3794OAEAH6ciuhSN81QirdjdgsNyVxsn0s5+SRAwgYK8zsaIk2NyM7gbzn7gnzXg/S55iei7VVUe1aHJU0TLypdZTYsM3Z6315/XOwa5CJBnLNK7HlUUgcO6490NNUGfDMVnvYtICc/U3FJp9Go6B0CmrGQkRYjirqe8wBmrAS+WPi07kuTGKwcG5iwqDOHsQfb0reGBveBM+eQjupImzml+/HBmoYtybIIRHeSKrqPhjFcF/xKlnWMhD6mEi7BwSdMsZMErkJP4cpH15YysYPKjBBKa8T9VNb1oC1qvdFE/AYSsUaWVhGbfrz0s5lnKTsCpBp6ufxILyeqF8ZFKmDOq4arWVsrw6YBt3G1Y7sR68PINZ8knJJGL2OQZfrpgAcs241et/4+gwlMXRAWaQvcfgXkGbkWYocMTmxnhn/H0sh5mQqvnUV+hdzhB8qESL+SmwQAbNe8LZXlKDGEHS/8ZtUOMpQ8zDu86C7/q19EMUKcQvTxGacqntjnrUJEHAs5Q6OAgku6A0vmHPNUhb2ZQcirvlfsC/zreLFyOmO7vH8LqZI+VdRmgg4F16j0VVvgm9P6XJe9iFGUaB84/N8WiXHL/XwzvgO+W9uxTeXeqBdc66HP3DJTiqEkfZMJD/IhjoL+nPyBT6zp+tNa5nLmsQsfWY1rFB9EGNpSTq3eqkWazqheSm5euMpBjrX6/HBWBYNnYEBad3QwkZlC6UxL04Ceqwy4iEfXvymK2/gk2U8itYy+YEM+TACyu6EtFmoNC9K3wnqeGJo7eQ1Ad49AvdPdjVSQ4wdqddaKZP8/8H4NqiEYsMnPW62JqXwPDlJlgBc5XURVRLD1uVdWYZqUAvsMzQTElJV6wU2fXvDxTX+Pji48Io2fC55Li5P63QaoYYlQ5pKkO5kc31M+M7rwn8JIK+TnuKRBz6mNOWRZJVxe24E8o8e3YX2fXMCD8q+YMzas50ENgg== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 21f6b2cd-976c-45af-d3fc-08da81eebe7c 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:02.5334 (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: sDSVXMRWpRO+h6TCo4jH6vjNIlHPWWXi5IjWIvvFncCG0f+i/ZwFsG6V7tmydyXhsr6D5A9Ww9UdVr8VMp+PKw== 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 Select the lz4 and lzma_alone bintools in cbfs_util class to centralize the supported compression algorithm evaluation inside the class and over multiple classes. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- (no changes since v5) Changes in v5: - Add commit to select compression bintools in cbfs_util class tools/binman/cbfs_util.py | 20 +++++++++++--------- tools/binman/cbfs_util_test.py | 4 ++-- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/tools/binman/cbfs_util.py b/tools/binman/cbfs_util.py index a1836f4ad3..7bd3d89798 100644 --- a/tools/binman/cbfs_util.py +++ b/tools/binman/cbfs_util.py @@ -20,7 +20,7 @@ import io import struct import sys -from binman import comp_util +from binman import bintool from binman import elf from patman import command from patman import tools @@ -236,14 +236,18 @@ class CbfsFile(object): self.data_len = len(data) self.erase_byte = None self.size = None + if self.compress == COMPRESS_LZ4: + self.comp_bintool = bintool.Bintool.create('lz4') + elif self.compress == COMPRESS_LZMA: + self.comp_bintool = bintool.Bintool.create('lzma_alone') + else: + self.comp_bintool = None def decompress(self): """Handle decompressing data if necessary""" indata = self.data - if self.compress == COMPRESS_LZ4: - data = comp_util.decompress(indata, 'lz4') - elif self.compress == COMPRESS_LZMA: - data = comp_util.decompress(indata, 'lzma') + if self.comp_bintool: + data = self.comp_bintool.decompress(indata) else: data = indata self.memlen = len(data) @@ -361,10 +365,8 @@ class CbfsFile(object): data = elf_data.data elif self.ftype == TYPE_RAW: orig_data = data - if self.compress == COMPRESS_LZ4: - data = comp_util.compress(orig_data, 'lz4') - elif self.compress == COMPRESS_LZMA: - data = comp_util.compress(orig_data, 'lzma') + if self.comp_bintool: + data = self.comp_bintool.compress(orig_data) self.memlen = len(orig_data) self.data_len = len(data) attr = struct.pack(ATTR_COMPRESSION_FORMAT, diff --git a/tools/binman/cbfs_util_test.py b/tools/binman/cbfs_util_test.py index f86b295149..e0f792fd34 100755 --- a/tools/binman/cbfs_util_test.py +++ b/tools/binman/cbfs_util_test.py @@ -19,7 +19,6 @@ import unittest from binman import bintool from binman import cbfs_util from binman.cbfs_util import CbfsWriter -from binman import comp_util from binman import elf from patman import test_util from patman import tools @@ -50,7 +49,8 @@ class TestCbfs(unittest.TestCase): cls.cbfstool = bintool.Bintool.create('cbfstool') cls.have_cbfstool = cls.cbfstool.is_present() - cls.have_lz4 = comp_util.HAVE_LZ4 + lz4 = bintool.Bintool.create('lz4') + cls.have_lz4 = lz4.is_present() @classmethod def tearDownClass(cls): From patchwork Fri Aug 19 14:25:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668177 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=Aunu4njN; 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 4M8PKJ5FvQz1yg7 for ; Sat, 20 Aug 2022 00:29:40 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 462AA84C0D; Fri, 19 Aug 2022 16:27:03 +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="Aunu4njN"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id DC06384B67; Fri, 19 Aug 2022 16:26:22 +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.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150088.outbound.protection.outlook.com [40.107.15.88]) (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 08B3484B92 for ; Fri, 19 Aug 2022 16:26:04 +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=oH0hrHiCqLgIVB4bDoqsoyRr+3ofCDuAYhkGnVQrPJuuGM/ispa1lnvIzFHE0ZHEj0dwn+rOf13KH/abHoufZ7b07NcF/u/Mfl2sEyhqFK8DDcAkqCynlhALz78vrTqBA/Hw8KH11DyAI0qg3cw9k4M0EwugJG05g8TE/oYsx5KXbJv25JPXQaKyV/RthpnAEwGrDC4EuJB3ar4GQCelDlS/riKJjLRh4dfSWhHEY3kBZwtAL1tQrNMnFAklfUTWbUKCo1pBWhrYweB52/u62LEWPRxyA4IrzXDkmdAQQ6CNTDzX/psBPnEOeybKrY4wJlck6ttpSeW2W704VwAnCg== 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=iuaSTspMhbYdOaeYdvoRjCQ/MaYYulblApgdCdfIAck=; b=kCBcyEfXUkfptvPNyDENgm6yO+yqSLBq7stNs+cVhGJNsQ96zV59czJ/00zYKGY4a8Bbk+DiKmPS+LEs5yu396L8uBIyByJ1ITmqPlQ0b1uvBmn7D+0yZBV7mFQ0xprFh08HxNcyXuRP/2HS/xfz2EIR0DUgGzvr25WpkwGVe7tZV5L3FpGJtbTtvhJBkjEmhjx1aNlLXVA5dzE4U8oryCJvQjmZ0jP/XbER327eENVHm5o2q0jMOTTBjlzW9Bjjw5MBAK/FKWrUF2/qDc6QhMn0qSeTFbsQEDNgN1QEE5+l5p/QqDDnEDXXBozOyyjTA+cKvA1JonF+4bSjaVs6Fw== 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=iuaSTspMhbYdOaeYdvoRjCQ/MaYYulblApgdCdfIAck=; b=Aunu4njNUuW8SE6D0usILVo5Xp2xP1G9lz2SRQa11AtrUlr0E5hKrtNQQNwnjW39NAUeh6o+6uTzX2piAYnGev5J0QASeEggE5r/rfRYlAHSVWe9J/6DPoDQRB6RCJcfgBTATpFkxwpIY7MU2ebEpFp/b36UMcDjSbz4Sk/E2bc= 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:03 +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:03 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Simon Glass Subject: [PATCH v6 13/21] binman: Move compression bintool management into entry class Date: Fri, 19 Aug 2022 16:25:30 +0200 Message-Id: <20220819142538.24847-14-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: dd00b973-5ad6-4bbf-040e-08da81eebebb 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: zx+I/1mLSWYgz4eiMtYFzhNHAQ/95JkXd//Zc8uY6kZAdNstkwzN/tvoXYDzyu2WUnHBa9QopVxCQBv85l1y1XVIgPh1ugJ6ebq7zSxXfJhr9f7YJ1aEVyL7gUsHxA8/5PMPFDR/p9OPoCvwvshvys9Qhrdkfq91uYL6WLVoBRJPKRbNce1a2deMXaLS5P+CQw5C54y2p0oJ4U1x96pqDMOiuv5hwSpxOzjsm5ufUT/5llgmtntWjpUyviDekZg0nObU9epqiBjmKRAS3i7hsW28GiOQ8ogxcsAqFNSFg8pSSxt8NO16jmDphpVBmgAg5imZe8qtO0q7pYcdtFIigm2H79cybGlGSSheAgQaGiwOfRcJGutyVxOeNtvk/WlclsRzWXL6VfFbDfU+u1lFTXZCOSRvbv0Wct/LH9j4oZJL/cQDN05rHZg1pz+sfb0gAl7OjZ/KvymPwsx8Z7XdWdgiTM0hyBgRDHmFfUCgZXchqNMMWlD1ASnuN0eSFsu/ADu88jyi+W86AVLXA01lbdqlqFMm5vw3yUkXFZDsLzOa52T5rt/CnmUcPqnJQ3TeChPZVU0XDVcqMRtTtn5gLCneh2hwWGrNxOYJcDd+ikQImVXQskSpiofbG7xqyAwWEieBcYlMfYFIwQkBsMd9cjV/erUS8KaQ7nPG5zUiJKamu0HSqb30qeWkSFuvgQErjm5KU5RyT0sFKGg5B56sCfePm0JS//zQ6aAdlwPVRRbpqAClvMsSeHhcKdu13b+hjeAHct758j3Z7JbVnusc2g== 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: AP0MqeJgQ0FqFnseBxb5Ak3OhMlMdeWniuWz88CiOqdsTNa7W20rOj6pvXcRwx+jiwS4IsBE+F4G8s9tGlOsSVAyQvffx08u+PBabsLIJsE4/yTKOIXHJ475XWwmcgc8tAPBNeELexO5jqLpLhtaQ/DxAfXE0VJ8TzgIySvaCGhxhqAZHTOvLL/ACaIGQoriauvPy/yIu3MCxA9/85OmuIipqqh5v1X73ELlQxhTRhi9hD4ErQ0HCCUfgUJ38VDg7R0perTkR4GKmwj9NKIY21/fQUXDAPUEqhGPDpUHh4pH3NmFzb6dw21Vu0mbtgb4cAqjneH4tynJzMIFKEP8srsXZ72/vp1zvJQMAom2azHRkvsgpFYBnHf0oYXbnVFrt4lFFa/80W3ZIxLThIKUwaw9zWELu9tWmqfvJ2oSkvI2F3C6ngA/5oM1E2tX+DVgvqs6ojX7LVidp4N052i6IMsbkiHq3jQjP+dQPffTc803yTLafLbcgq7wTBayBNlysf1yz3U6JURs8hTAKa9a4ojArKfd3IbEv3O55x+0JZEfR5K0qkzFttqcDs8ATfvRFuYCJfgukclgsFR96xQFrlEu67jIUFzejqnUNl8h27TE393VVudVm/DS/w+p1zMzi//itQ/4w+K6rcas7knjEDjZO4P9EpKdd197lfjLMBzRgP1Acf56nvWYlM4BptqgikRzelKdUBBy1vqU6NXYS+Ye0KLSPV6PSgMKdeG39qCFRg1rve/amb6SR/IQIFf70OA14gv0dQM3w37CzmuDC9wDD4uWuHMG7TWxeK6ob/UAWY6T7hxnMgRG87ruMQWaVvOKi14YJ70RYIuseA2Iw9giw7xW//e/GrtqsyucbOH1Iq8Q3EHrCXK/Diy4iAVyH/vX1VnQHRzV9fDpZMyThu64DxmCNFhDI5FDdubA0NCvEGSN/DN7luWb3DZwS1b+Nnq1Nn+UJcCYLWeh0UxVcZl7kYOkM2YfiyVXwMVp8JHmE7zeu1KPe/cbq+Z5smBaajA4PTaWfpqTNFbp9Vz2AVMuDVCxOMDvDGUgIpKn6GOMLYG/zFAaX4TWAbTXSOhWNV1ONPcXsExubRyJekBKS2RBne0NvvB35+nDHIy/Slm0QczZ/m2QIPPvOINy2RzWNsudOz0lJRZaNp3ZFU/sRsuqc76FfL+CpXptfE7cg77Pq2tZLKurivcNZ+Gf9IW+Tutp8KiawBvvOAfJrtrrSQ6f7RJKvpH/DKE405GV9f8a5mcLjT/2dxh4a6z+xdXudb41pURLOUogGfnXMDmtT1RmVgAAuejwN/1WuOajV5ZMzkX7zAIhUDmyW+vKZ4dlqQKQ4dC4h6IsVUcgKecratOYVZ3c1vcL9aRbHuT+lF8oLgKBFMqg/WDzu12qt0GYyo78YOMEZ2cfOkJ1+tOuyR/68of0xvycXRFzqDS0qE/G2Q86RZfM3nX4AxWHVhfamc+gcONGJ6qLoeJW80NQn52+kBWSGdP87v1Jj9Ocbp9W2hMmSrWA0vrxH0q1sm/YsD69+ozQfnX3LVlY/XsolhDErrvkmZnyDi11DHkZWxLcWY4uRTLFs2isGnFIvsTOfY8/UJdAfwnpRLtoYJsyOA== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: dd00b973-5ad6-4bbf-040e-08da81eebebb 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:02.9410 (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: qr5VrFaOAo1cXfnad4lvV31yOk+QnqOc6Uzl2vV0gDJDWo5uD5snWi2pAV+v5/7GWSxT7n1iYupdsH55H1yBHQ== 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 Move management of the bintool to compress and decompress data into the entry class and add the bintool to the list of required bintools. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- Changes in v6: - Set uncomp_size after decompress in DecompressData function Changes in v5: - Add commit to move compression bintool management into entry class tools/binman/comp_util.py | 69 ------------------- tools/binman/entry.py | 23 +++++-- tools/binman/ftest.py | 15 ++-- .../binman/test/237_compress_dtb_invalid.dts | 16 +++++ 4 files changed, 41 insertions(+), 82 deletions(-) delete mode 100644 tools/binman/comp_util.py create mode 100644 tools/binman/test/237_compress_dtb_invalid.dts diff --git a/tools/binman/comp_util.py b/tools/binman/comp_util.py deleted file mode 100644 index 269bbf7975..0000000000 --- a/tools/binman/comp_util.py +++ /dev/null @@ -1,69 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ -# Copyright 2022 Google LLC -# -"""Utilities to compress and decompress data""" - -import tempfile - -from binman import bintool -from patman import tools - -LZ4 = bintool.Bintool.create('lz4') -HAVE_LZ4 = LZ4.is_present() - -LZMA_ALONE = bintool.Bintool.create('lzma_alone') -HAVE_LZMA_ALONE = LZMA_ALONE.is_present() - - -def compress(indata, algo): - """Compress some data using a given algorithm - - Note that for lzma this uses an old version of the algorithm, not that - provided by xz. - - This requires 'lz4' and 'lzma_alone' tools. It also requires an output - directory to be previously set up, by calling PrepareOutputDir(). - - Args: - indata (bytes): Input data to compress - algo (str): Algorithm to use ('none', 'lz4' or 'lzma') - - Returns: - bytes: Compressed data - """ - if algo == 'none': - return indata - if algo == 'lz4': - data = LZ4.compress(indata) - # cbfstool uses a very old version of lzma - elif algo == 'lzma': - data = LZMA_ALONE.compress(indata) - else: - raise ValueError("Unknown algorithm '%s'" % algo) - return data - -def decompress(indata, algo): - """Decompress some data using a given algorithm - - Note that for lzma this uses an old version of the algorithm, not that - provided by xz. - - This requires 'lz4' and 'lzma_alone' tools. It also requires an output - directory to be previously set up, by calling PrepareOutputDir(). - - Args: - indata (bytes): Input data to decompress - algo (str): Algorithm to use ('none', 'lz4' or 'lzma') - - Returns: - (bytes) Compressed data - """ - if algo == 'none': - return indata - if algo == 'lz4': - data = LZ4.decompress(indata) - elif algo == 'lzma': - data = LZMA_ALONE.decompress(indata) - else: - raise ValueError("Unknown algorithm '%s'" % algo) - return data diff --git a/tools/binman/entry.py b/tools/binman/entry.py index 398d5caa39..5fa826aa71 100644 --- a/tools/binman/entry.py +++ b/tools/binman/entry.py @@ -11,7 +11,6 @@ import pathlib import sys from binman import bintool -from binman import comp_util from dtoc import fdt_util from patman import tools from patman.tools import to_hex, to_hex_size @@ -82,6 +81,7 @@ class Entry(object): missing_bintools: List of missing bintools for this entry update_hash: True if this entry's "hash" subnode should be updated with a hash of the entry contents + comp_bintool: Bintools used for compress and decompress data """ def __init__(self, section, etype, node, name_prefix=''): # Put this here to allow entry-docs and help to work without libfdt @@ -116,6 +116,7 @@ class Entry(object): self.bintools = {} self.missing_bintools = [] self.update_hash = True + self.comp_bintool = None @staticmethod def FindEntryClass(etype, expanded): @@ -1083,7 +1084,9 @@ features to produce new behaviours. self.uncomp_data = indata if self.compress != 'none': self.uncomp_size = len(indata) - data = comp_util.compress(indata, self.compress) + data = self.comp_bintool.compress(indata) + else: + data = indata return data def DecompressData(self, indata): @@ -1095,9 +1098,11 @@ features to produce new behaviours. Returns: Decompressed data """ - data = comp_util.decompress(indata, self.compress) if self.compress != 'none': + data = self.comp_bintool.decompress(indata) self.uncomp_size = len(data) + else: + data = indata self.uncomp_data = data return data @@ -1138,8 +1143,18 @@ features to produce new behaviours. Args: btools (dict of Bintool): + + Raise: + ValueError if compression algorithm is not supported """ - pass + algo = self.compress + if algo != 'none': + algos = ['lz4', 'lzma'] + if algo not in algos: + raise ValueError("Unknown algorithm '%s'" % algo) + names = {'lzma': 'lzma_alone'} + name = names.get(self.compress, self.compress) + self.comp_bintool = self.AddBintool(btools, name) @classmethod def AddBintool(self, tools, name): diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index 7ab9289a88..939b265d7c 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -5228,15 +5228,6 @@ fdt fdtmap Extract the devicetree blob from the fdtmap self._DoBinman(*args) self.assertIn('failed to fetch with all methods', stdout.getvalue()) - def testInvalidCompress(self): - with self.assertRaises(ValueError) as e: - comp_util.compress(b'', 'invalid') - self.assertIn("Unknown algorithm 'invalid'", str(e.exception)) - - with self.assertRaises(ValueError) as e: - comp_util.decompress(b'1234', 'invalid') - self.assertIn("Unknown algorithm 'invalid'", str(e.exception)) - def testBintoolDocs(self): """Test for creation of bintool documentation""" with test_util.capture_sys_output() as (stdout, stderr): @@ -5773,6 +5764,12 @@ fdt fdtmap Extract the devicetree blob from the fdtmap orig2 = self._decompress(comp_data) self.assertEqual(orig, orig2) + def testInvalidCompress(self): + """Test that invalid compress algorithm is detected""" + with self.assertRaises(ValueError) as e: + self._DoTestFile('237_compress_dtb_invalid.dts') + self.assertIn("Unknown algorithm 'invalid'", str(e.exception)) + if __name__ == "__main__": unittest.main() diff --git a/tools/binman/test/237_compress_dtb_invalid.dts b/tools/binman/test/237_compress_dtb_invalid.dts new file mode 100644 index 0000000000..228139060b --- /dev/null +++ b/tools/binman/test/237_compress_dtb_invalid.dts @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: GPL-2.0+ + +/dts-v1/; + +/ { + #address-cells = <1>; + #size-cells = <1>; + + binman { + u-boot { + }; + u-boot-dtb { + compress = "invalid"; + }; + }; +}; From patchwork Fri Aug 19 14:25:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668179 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=4BR29gWQ; 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 4M8PKk225dz1yg7 for ; Sat, 20 Aug 2022 00:30:02 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5861584BBD; Fri, 19 Aug 2022 16:27:09 +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="4BR29gWQ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id ADA1384BA3; Fri, 19 Aug 2022 16:26:25 +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,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-eopbgr150088.outbound.protection.outlook.com [40.107.15.88]) (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 4120784B5D for ; Fri, 19 Aug 2022 16:26:04 +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=MmXvbjpbfms2m50Vg0zswB+e5ldxle17R+vyM1bClx+ENN4sHgsUvAoGGoThg6he54FucMTZ9XzZ8s7DLs1Q4DFOG7AGPYlaD7mFO/S4UV+nn07Rn01Jeky+Qf4dsScQNY0lSPOsOuS/Jd2oXhrD7k9xhX+el+sFr6UlBL/yeDBJWo050Z1nwul7EE79yDDTQEsT/QGAMKWPyxBozZGVLhYcCGDXl7WsLvFUu8g9E7MbTMtOCo4J1fwB4YNLd9B+RPHYvhsenPP5+QCQT8zzraS6/9JX1hgJk6KuNAy8cQrnqf8i3CO/1rE239pQAVYFx+Lrop/nW6I2iQkm9f3JEA== 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=Hvw+ILN05X5gA8DW2Yk81hbIW7y+WtGxweOwtUdioVU=; b=brlnEWKq7UvbjXTIayeA8jrBoh6UsPvxeRrqzYqkASTHTwGoE3rsuINVT/THbRs6+sxXLDS4dIx1I3uYoJatn+KacZOJDP6uy3ZJZAIHHuw0eFNbWqGfDJq3qsqSUGdHOqNsteSjAynO8OuvqOz5/h2iQ60W3hHWbQwx2wZoysI14GzuCYHFWkDruB/eJx1l1b+qhiE4G7eK8LQiFffzDTpj8TPMHYrICZvJPWnZeHlnj8AeLfPK6b0xSw1if34QYD/OtxeoLRMhmSbpsM618XDlHfBaAGUp8FXrza4AyHTpgmOex6tDATKdjB0wJwLep4RFFLnHod9UERgdjyADvg== 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=Hvw+ILN05X5gA8DW2Yk81hbIW7y+WtGxweOwtUdioVU=; b=4BR29gWQl7ZK8o3yYb0iENAAfzkKZzvJpzTc6AD1lsPOrURAwT18P/8xp2ZqWwO22yNaxeP/36kFubKrO0QYQssBfYscIt6BtNkGXKrFhI1CjA9wO2J00BXVst98mAl3L/uWdww652/joTue1uYdMDDtuoZag/urGZtQ8+NIheI= 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:03 +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:03 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Simon Glass Subject: [PATCH v6 14/21] binman: Support missing compression tools Date: Fri, 19 Aug 2022 16:25:31 +0200 Message-Id: <20220819142538.24847-15-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: 29678931-2a7a-47ac-60db-08da81eebefb 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: d+Zfj1RK+Qf1bQ5iiDcf3U238jC+nUklNPisYCbEfJaJJxjmiKQ3XYaNGVU2A5Xz7cLJC6x5IDYqMCq5NXgHN/4GQhx8blTkozdklSJDR8v0qaDDtGVKGdD2q65/G4cTavODd14mnd6GagKukDDhHk2hDzliYaIksRjZByWuoUHWnXnN+G+rEKpcHBDabvYb5UTaAWH5sl5YQiW2f2gAhln2zrf+JsTGQvhEx5O4g9FTFwIARUa9SdQS/YXN3JXBU+Ktz2myOD7ipdlGydNBAqqHiyT+68DpXFmWzADOcgsAs79rWIe4uWN62gLGUmTnqhfGDv2jvl5wryeDeBEaxD+zdmNt099hozW0W/les098wCprZjDVmW8JqDk6eeq7OKRhBVBp4052p+WZ1vnGVQPyLaTyKNaEI8p7+5UlPP5bDnSAqXlnNfH2nOhv9RymOSoFhYUEFaXY/wJ6fy6Bui6sfqkL8g738w0TBGMFrfT8ISM7bRAcPfP6/TmM8HDVXGGGE6/6YKGlgHmOBAZ355asDpzAnypGk00v/tw9ysOf5WAe0rR0zqOs2HdxutgtQFo5qNZ7O5qIZIdHy6ZUCIuKSZTtOwDcRvboZLKPRv+olrPXOIjk4TsebL6Bqx3pAxxJo2ONSiOMCPPdD+uJMeDLSBBqM5CMePtxPzH8tLaiEhnzY6tuFOqSzlsX25wmxQoNB+W8PE12Jgz2qROqIM64foN5K13pTemcu33Xf29jGwScoKRZvGvPVAtlUhagwAMkO9IeY815NSmHxu7/0g== 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: mVBLAkqjb6a3CtTJPMOXtXjkHuGijNFXHtfGMn5wsMX1nc9dTwg5k2jpaISmkeF33JzJ5dnv8VPvKI9ZcHacIKioStGuUy0Z2NWXxCacaO2qGzyqMO2ZO9+LkdA9mT/f9pZa6yjHdd7SwteUhIE3glXVkTN/6qX4t4fEKWejGGik3Koip0N3+/4vqCFnmxTCG7jFreWZbFccBL9TmbZk+Wf2Flj+4hfN8lW86jAHXQCopgS7YRaMVeCO/Rzu4d4uj0fKo0yozK4MxTrMnaY08udDcUS/IAPmcW0MkmTFr/8LKmsD3xsRE20R18ZIHJCyFTK8L4l+FV3D3cAOj6N9Q1ERiJ7AAhREYBIa7juKjxgtPblOmnjLKme3SqBvMcUDZD56GfqiRT7/KuvvZj6Hta/jyhkzFMoGOaTyfZNxiLybF4yhpfi5Jyv8Vfdp7m8Q+TrurlGq4FuYWw8KlJ68pbyQGGLRFfLT9MKBFQQ3gJY9AZgwNyhSm7cxyC6ztajYmpwnBdXaxQXFXSEOuyfbJc4MAk3YGRCLPl4TXoo01gBGQCBAunyC8XXDPN5QkM7rVYOeSOI8kTZFu66tJeguR72aF2AyE2sx6H9tqytynhdvToSgByGdBYvkBG2QucrJs2F1g4yaoPHezXyj/P5nlff9m1NXZS7Oq10QQt6PM342zIVwRgwenhEt5M1ZyX9jztv0A+yHZpTPLZ6MDvunSE+l8PvlZVq54fKIxD2p1H+o5deM3UPRKzmSGkIBhpA5HeNCK4+xZ3dICPRA34dt8ySwXQHHt3bbakAy0Uc5F8E1wNUTOee1IqWUs89r/QT9mFu7kcnKZmogbJOt7f93ny3K/DfEglQxIVdVqnCcUECLekNSbH6TSFDlfRovZS+SSbi6F0sS2Fv0noPtHH6Ybuy0fnYfnaHjmGwAlQgPeBnL6hlmGh3Qoipjo00T34ztcDJeQDtNebe79/QiIW2TF5QeHS3sPbr5LEMXfINjWE65TZjihI4WPpA9jHM+rccYvBu+6ZPifGI1BGj+Tv4EA6X7GIDdStExEnmUGpTxpGQZEao7C4fKTyJzgcXeqHV584VGCvRb20iXMPaupiVfjaHpFxNNM2CChGyknUXDdyprT6RgE1RjaNb3bTdsqCAkaJruSSUDNz4wdceB2ePAi6zmwC4CwawO37gjwUdZGDUWIOW++Z8JhDeZXybMMcOdN+C+owKgCFGI6DxF2V2HcysiVS24+OMBbseEMyX4fVp/wioLm7tWYSZMoEFNHwwrhTpY4dm5rhyOMprB+W778gQQMIbsQmXailbGDObYWln5rUEQuFQoH54lSFtFQUv1xm+wJFTU+Y/9b5UB03p2rWaoubDf2vOlp5YsuLJ6bZCyKrWxr2jI7+dupZ6tzfzxjs4cBKPHsz94SVUdZnAzw80WOuHXlBT9BoqT+oJh/KvRbTvxEjrVf9bLRW02qb/K0573DxJNCpp9ipEWVnaZ4mnsbMRDzTBJG/1IIoWGc5oVlnA6JgU8pxIrkizxmM8VqhpgCC5CzdtkfQlupL2EED5OoytfhdX3nxpd/DfvE12fAgDrNjcy5mhtylvOzcTS6MxwWkGnyCQjwHjs+Ho8uw== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 29678931-2a7a-47ac-60db-08da81eebefb 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:03.3628 (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: oTBxESaeaXCzJkT6oBPFYo8PtLRBLt0QYZwBEuGgWPmZHmvQMH5bOL9gb3PRIHL/deBIK4RSbyrZu5vpIAhJqA== 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 Handle missing compression tools by returning empty data and record missing bintool. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- Changes in v6: - Set data with tools.get_bytes(0, 1024) instead returning Changes in v5: - Use record_missing_bintool function - Use tools.get_bytes function - Add support to DecompressData function - Reuse 85_compress_section.dts file - Remove 236_compress_dtb_missing_bintool.dts file Changes in v4: - Add missing 236_compress_dtb_missing_bintool.dts file Changes in v3: - Add commit to support missing compression tools tools/binman/entry.py | 14 +++++++++++--- tools/binman/entry_test.py | 9 +++++++++ tools/binman/ftest.py | 9 +++++++++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/tools/binman/entry.py b/tools/binman/entry.py index 5fa826aa71..48883bac3a 100644 --- a/tools/binman/entry.py +++ b/tools/binman/entry.py @@ -1084,7 +1084,11 @@ features to produce new behaviours. self.uncomp_data = indata if self.compress != 'none': self.uncomp_size = len(indata) - data = self.comp_bintool.compress(indata) + if self.comp_bintool.is_present(): + data = self.comp_bintool.compress(indata) + else: + self.record_missing_bintool(self.comp_bintool) + data = tools.get_bytes(0, 1024) else: data = indata return data @@ -1099,8 +1103,12 @@ features to produce new behaviours. Decompressed data """ if self.compress != 'none': - data = self.comp_bintool.decompress(indata) - self.uncomp_size = len(data) + if self.comp_bintool.is_present(): + data = self.comp_bintool.decompress(indata) + self.uncomp_size = len(data) + else: + self.record_missing_bintool(self.comp_bintool) + data = tools.get_bytes(0, 1024) else: data = indata self.uncomp_data = data diff --git a/tools/binman/entry_test.py b/tools/binman/entry_test.py index 1d60076be1..aa470c5816 100644 --- a/tools/binman/entry_test.py +++ b/tools/binman/entry_test.py @@ -105,6 +105,15 @@ class TestEntry(unittest.TestCase): self.assertTrue(isinstance(ent, Entry_blob)) self.assertEquals('missing', ent.etype) + def testDecompressData(self): + """Test the DecompressData() method of the base class""" + base = entry.Entry.Create(None, self.GetNode(), 'blob-dtb') + base.compress = 'lz4' + bintools = {} + base.comp_bintool = base.AddBintool(bintools, '_testing') + self.assertEquals(tools.get_bytes(0, 1024), base.CompressData(b'abc')) + self.assertEquals(tools.get_bytes(0, 1024), base.DecompressData(b'abc')) + if __name__ == "__main__": unittest.main() diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index 939b265d7c..ffcd7d2567 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -4422,6 +4422,15 @@ class TestFunctional(unittest.TestCase): } self.assertEqual(expected, props) + def testLz4Missing(self): + """Test that binman still produces an image if lz4 is missing""" + with test_util.capture_sys_output() as (_, stderr): + self._DoTestFile('185_compress_section.dts', + force_missing_bintools='lz4') + err = stderr.getvalue() + self.assertRegex(err, + "Image 'main-section'.*missing bintools.*: lz4") + def testCompressExtra(self): """Test compression of a section with no fixed size""" self._CheckLz4() From patchwork Fri Aug 19 14:25:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668172 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=oGgY1YRF; 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 4M8PJG2kdcz1yg7 for ; Sat, 20 Aug 2022 00:28:46 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8443484BFE; Fri, 19 Aug 2022 16:26:45 +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="oGgY1YRF"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4DCDF84B98; Fri, 19 Aug 2022 16:26:17 +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-eopbgr150088.outbound.protection.outlook.com [40.107.15.88]) (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 734C084B98 for ; Fri, 19 Aug 2022 16:26:04 +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=hiABiyg5b0ly0yo7n4aJmExorlpxVJbUfXYT7x8riQ4DQ3nUD1SwMLczLzCX6he7yg8OV+yeAYQSFbxKC+O5gcvvAMmRN/ggKubt6/WxpWDiP+EpFpCmibJU23do74QTcc04+M4wmP6/WkZ3LbmbAGZglqtBZIkYaxTv+vH7/9hVKxi7w9XluJeFun6oATHP6p+df7gnJMpe7mVjPVKJr56H85d9NBoYaEpmmUfC5l8lMdstWfLLRrYSfzbA1u/spmj9eVkW3uDTJjOVwKQUKdoQz0hhEXbjUar75Pw3byY+p3/YCFg+H0Zk9nUCN9aqpCVLp9dZNWo+0Fpbwwh2kg== 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=JLzmLjrqqjcj7kIY+neEqOI+R2lDTn+I9QU28lSJUPM=; b=LKq3iStBBNhz55ziRJrvyj2vSSeGylZLThHN1f17lM3D3mXEGzE7fbS5w8M+Tyc3g6jNR3A4pmZnYrrtT8hUgqiBDdfzeLBlXALXDEW7p4Ezwjm+p0XCLimAecch8ac74O1xMDO48gA0ufP9R/bp106xt6wRC627pn+MbGFozfb2pJinTUF6lgRSffgJ7rGx8BSzTMPPmNZAo7bc7D/XJMqFH/u7g69Y5n/TCkheRxvPDv2ITqtMz7oZUr6mcw61D/ZAqb5a5VezohUqfv5qmRED0n6yH0D32PQU1KAq4hi4pwbltfTbwXlqxXBc80powJ1s15WDz9yqIcVTjjXpbQ== 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=JLzmLjrqqjcj7kIY+neEqOI+R2lDTn+I9QU28lSJUPM=; b=oGgY1YRFSX4Se1the5/Thuf22j2XYzzQWyHBxk4Ow7Fl4zAhT1cDYBbQ6r3cRvtEnTpoyJ0bKj2Je3CWrrgnvCLOKhJTmUp+nDDpwQCVuYEeC70GWdmYv77zJiIKZGtzhes3cGIYEUcmHjM5xZvMcBaywxlYk6f5+2Zk2pzjgqI= 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:03 +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:03 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Simon Glass , Alper Nebi Yasak Subject: [PATCH v6 15/21] binman: Add compression tests Date: Fri, 19 Aug 2022 16:25:32 +0200 Message-Id: <20220819142538.24847-16-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: a6075f62-4303-4731-e4d1-08da81eebf42 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: Yji7PVCfPhGZO58MMNErxqs+bt9X2XqiSvpbNK5eY4Um+s88IfCywpxdwt1jfQ13Hlvo7tBaD+5H8OhfRr3zHuqiB2qyJDLR7za/VqB4zr/Ds6NnylqIsBcriVJpGcPbhCxMZSi9DpIa53RelBrzgGzNmef4AlsKgywQnp8d5tiZy62PaZHWsIP3Ph496USjdhNcd9vtdEKxCtaZ6NBpXtuvfFx45wufpYL6jzL8Hvfc39s//egNNjCZPtIc/Cuuj8yL+qyUSROMOXP9Q+ESrvP4YUK1aYPINW6gk1buEcZ7VoPVv+5sZHdY96Y3E0GZew77i6U2+YNNPQIahyXf4jK6rrbusSsFHvbB1Q4GrCtf9bjcSFJwHoFrey7DDzpOsor641bbW88M60A1wB9mYywtVOLuAZMbMv5hzFJ2KgBxqiU2q0rEPBvNfS+H27aGrDvp+xzBiDSxKnB7MVreRgHEJOp9YeFaFT1qLpB71Lb95FcIN4E8I/d6s0AZBBslqmf0oJJALscpSqBNZuPX40hq6pow1tJKURwKfAVK4BZKborH7wNBJNvRgQKwyY/CyvVahZYn/aRQi7nkyAS7FtSuSM2yPSdy0aVC5DI/L7q3cRxqBSJcBrCaWQRklkeK8h9dcON6XA/9yt1yWH/Tq/cvl0PhfITY2lyS/XFo9EaZvPiDCopWzRbcIzKEcQDea/K5RdXzjrIm9nt/i79zNI8ps88yRvwtM0lVkOREgXe5aElD3ADu4WDIzFKrumrLYubGrCVhHJXA0DoCifYP2IIG5jZ0gff5oVSLei6By7s= 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)(966005)(41300700001)(6506007)(6666004)(6512007)(26005)(52116002)(2616005)(86362001)(1076003)(38350700002)(38100700002)(186003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: iRrEcOyAiHApCJBblNYIyjTbryEFermkRjqH+MEEv4FKwhLCDsuP7Yxz5FnBIzuPjkgRkUY0ARiQbNLvyhnYBV5ewOBR+Vr7BOLqux1xNzFV7of6Wn8P+b8iiKuxE6dCByN+lTdynXzHaMLJrAmL9/tiHYPCCGu4TeEMM/9w+MTv0H0KgNoTwBm7744ouCX4ck5Ro70x4TIJd3DQiagUQ4pBphhcTDG5d6Ztw6DlgKZIAx7HAPDZgtOYOVDoednBfEny7CINUyROhOzbTOoSfYplJuyCQsz/xiitOh1dGVNU8YN4Ob9AMpPzmDlv0EsqlQQCd//TuMnp0RcEHrzykRKT3qwDJcTlYHUuR0AQt2dDLxW28+cRMrTi3KEFn4wQyA2GrHkz49fK3gj3kHx4g4r5EgXaX+nLdZgBDJGHWPue65ty0zZIz1yXT5hOdJTPPqy9SyJPqoKe01yK6MyeKwnyv314uHg9F7P59uWZxKrYa3d0xl3rosl1BU1Fxs8XpBbK2WDkq0B2JrgXTC47UdtV3Mf6QZpnOK/QqPiwSf+yCgZQgCBgfGVCJP2hkwPbmvljk8rBumS8/JR28Xfr8cQTO5UudezZMsGO+GdO7/UoGxEfvdr0AsoMQYsWpW4u5169E8wv56D9J0yp1uyWqaXFnwM/bMBRC5RMHOznorAiM7w8QKz8RY/SmIvZKcW7/1NrREJDYcCPiepgFflCXUV3js3u9sNlToOzIjL5jccHCXLUgMv5ncesLhF4/Vb6fqq/Vr+UYK8thZadRj1CDGI0zhm0StI5LcVSQOoit/AjAPHpDpGNBEKWbErjNqwBMlwzANor4L3H/zILaP7sXdnJ+TdAcWR1g8KrMrHB8wtFEVkpCCdEo6dJ2uSaKpaUFb3F+Z9CVkW7CKX2HWUjdNYW8s7JhRwJH5i56M2JTL5KyKyk2yWBDcdbuhSibkdLAHPJBayaClB2yWHRbXPsTzCkZXHpKLG3H7oZt6WSph9rD7zJ0pP0gY0Z/8U6EciYGOpYlmt1P7+dBlaS5KH1Wz1exnpwPN9Pse6xKdL1yccnhvolbvPprw2IPuBlF0r/Yx+7wAEs09zzypFEJqzSts/6oF5UoHNj/7tbR/0BviKT8T8ODDoz718tAD/LOwaJYaVMFp3uhiAieYDxj10WghQM0Modj4wp+CoqzBYxYDHnlo0WuWOJZbHhwoNBMvmJvu8y0PdWT20yRRS/+dXHpsbnH0jJMk480cbhJcM42H03Zov5gFJ/ch8XltW6Iixm+XxWySMVE1Hy32vuLfMTTBBKDjE9paoCI5og06FhIBBty17GDwhu8Ptu38gPftRyVuy7j3kJxc3ONNs1e0KOaTzD7NJiiIdcFrMG9SKhE72k0fW+ZtYlleN36B04xEIbUscTYXFU7/2X8jG9olvYbD5Q1sryP6fd3QpUOo8se7Txed9Au7uZsgCJRsow+GN+7eOb5NqnWQkTVlqnzvP0tcUMUCkU6hHu8ISogSO1dJz3zldV6Ui08qRBT9vsX5ruQODPh1ZIfcMMj6mWQs17S2GGrEHO1crPj3D1R2ss8X3E6u8hREGbzjD2g3MkHXQbWMw5wMpnEnmetYzMfO63jg== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: a6075f62-4303-4731-e4d1-08da81eebf42 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:03.8471 (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: 7TiPM1XRy1cNLGcdGwbPBXsKVLXb0ZiabkCKO8cZvjSYAAGwst8YBrK/lnQkOnYdPiBx+T+5tvU4rUxPONP6nQ== 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 common test functions to test all supported compressions. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- Instead of the for loop it is possible to use Parameterized [1] testing. [1] https://github.com/wolever/parameterized (no changes since v5) Changes in v5: - Use self.comp_bintools dict - Use _CheckBintool(bintool) function Changes in v3: - Use 'tools.get_bytes(0, 64)' instead of 'bytes([0]) * 64' - Check if tool is present - Rename tests Changes in v2: - Add commit to add compression tests tools/binman/ftest.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index ffcd7d2567..bbb2fa19c1 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -5779,6 +5779,32 @@ fdt fdtmap Extract the devicetree blob from the fdtmap self._DoTestFile('237_compress_dtb_invalid.dts') self.assertIn("Unknown algorithm 'invalid'", str(e.exception)) + def testCompUtilCompressions(self): + """Test compression algorithms""" + for bintool in self.comp_bintools.values(): + self._CheckBintool(bintool) + data = bintool.compress(COMPRESS_DATA) + self.assertNotEqual(COMPRESS_DATA, data) + orig = bintool.decompress(data) + self.assertEquals(COMPRESS_DATA, orig) + + def testCompUtilVersions(self): + """Test tool version of compression algorithms""" + for bintool in self.comp_bintools.values(): + self._CheckBintool(bintool) + version = bintool.version() + self.assertRegex(version, '^v?[0-9]+[0-9.]*') + + def testCompUtilPadding(self): + """Test padding of compression algorithms""" + for bintool in self.comp_bintools.values(): + self._CheckBintool(bintool) + data = bintool.compress(COMPRESS_DATA) + self.assertNotEqual(COMPRESS_DATA, data) + data += tools.get_bytes(0, 64) + orig = bintool.decompress(data) + self.assertEquals(COMPRESS_DATA, orig) + if __name__ == "__main__": unittest.main() From patchwork Fri Aug 19 14:25:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668169 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=ctXNiGZu; 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 4M8PHc0LRCz1yg7 for ; Sat, 20 Aug 2022 00:28:12 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 16E1684BDB; Fri, 19 Aug 2022 16:26:39 +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="ctXNiGZu"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id CE01484BBE; Fri, 19 Aug 2022 16:26:13 +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 5945884BA0 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=Xw1Pixj9U+gyJlCwyJzkZEeT4DBytMW4uydp1czAnm0wtw8YD5Uy8FEgwQ0qMuaGeV12j4roIgY4C/mGDVc5F4S8VQApEhmiENCkJw9Hl8SoUBHkQEdQ4kLZj5Gx6WZ27FUrqkXNOYK0YoO8dUgrej18KpwBWop/mvxFW0YeeCNOsh2iQYQH0WOKsEy9WS0f975aRn1NKLHfRKuExmDVD+xcRt+FCbBYykLvp1Q+hVYJua7ho/PUkf3X+u6unjO3YB0PLSZwB3OOySnKwRFhtyPoU9Dsm34SHJ8VvNb42wReYCV5wxuAFIy1oe8QK+PJiQxk7w3YsIRUcrrMeeBLJw== 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=WiBOADICz3KELCRrs3PgrlCFGZUNON4v9GlcZH3eToQ=; b=OqKWUdVZWaOPDKXHj6T3TwekENHsR8EdKWoGoFKb7+yE3O3LA1BcNS/pvlEr1wDZqcxw6HZhC5qZArhg2QsA/s9nWsER/F8ht01an0y1cRQzEYnJWXOby4NiG8QPGJyXppZ3v3DnkCGi/HKdyMGAs6yhXUyZ5wSaxmpqONzOGUCGJXOFk4YyFiRWeCoEiF5EmVts8LalBCeVXnK9OIZWJ43RgZZ6aRHW9DnYsFrzydN3c6+im8iv5WG4XIcQ7fKyESPZSr2tWz2MkJC60bq+3Sy5uDfAUuQvofhVT7agp6GoKwWLGitlpU89F8oRQzPzacv8o5U2RTyzZCwnZR4q7w== 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=WiBOADICz3KELCRrs3PgrlCFGZUNON4v9GlcZH3eToQ=; b=ctXNiGZuG5MD1ILkyI3Lco3EdT67h64AkkSc+ixU9zi4Zm4U3xdrdRCihKw9ciTBaPJu6O42aXfqpVxAk8dcmOCuUh/IYebNe7t74NHHK37k4KYo73gO4R+A8LDCuwkeI2pDbqBl9WP/Lq1suR2uskQABnmZROKqjVyDiysHUq4= 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 16/21] binman: Add BintoolPacker class to bintool Date: Fri, 19 Aug 2022 16:25:33 +0200 Message-Id: <20220819142538.24847-17-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: ca781bdd-3157-4d9d-05cc-08da81eebf88 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: vPBsPIk+pX0fE8mjfkot2Hc5S9MIUQw+V5lQpXfMpar5t8IDkkekioT/3mCB6NjB5itDRBjgUCTeBRLZoskujSQbQ0Xj/I34CBbRDslE4QaJxN5TEWl9SUg1tRmqmMRYG8GlAlGeTsAm9Rw6mdYn8h94y1PeUfqfofWiF/MLma4KfFj+l7sYe8OCpE69o+WC1rfL/8wVqfjSqAx9Dxm0x1S9ficYgW1RNoYj2o9Ipsi//GZ0l2ZNCNUvoiTyn8ZGrEjNoVWosvvfZ8Md75iHLSeQPeIf5OUAmTDTuV43fDsZRh/sXxmSijPX9QSbQnxpusHJ1fZCisW22QCWiY8JPEqBP6sjOTLY/FyXYRCIJYmTDHoxQKvSn+E0mVxaFiE6Uio1ZF/BuOerrM5QOidMtN/19omQ6s+uobh6TZR+97gJy7MmMzSvRBpZtSqZ4tsuUgd/5Dp519cSEm73qSsBSFp1++9qHqRQ4yJEMKnE/luW+LUbTO0sCvHmcm7AjYCl1kz8/9x9btxRo4upSla6DTZV0VTEZZgw5oC5SOC3/n4FE6j6B4/dWDmIpVhgRwQV6iJFa0XItovboyqolYX3hWWOZamMIUK8DfgbTh9d4rYtuTgLAB6FlmfCheg78JtQ2kILiMjLUlqC4rOA+fjXlfoYxmxtIQKjYtc8zY6G68z4ZxDaxq9EMg3Wui60K0DauTYfzvnNFJ0fAv8Z5wm5v5VSs6qT+b/qD9mAHyRmbbfVdLsskmvwbewXM4f5vNE+0w1CGEmQTtIIQ/bPnKTAzg== 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)(66574015); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?todhykjAEAEc/5N05sEBAmNdR2ol?= =?utf-8?q?PIMnbE9rfbkw+ggGeh2MqAIK+xs1K50frHtHoefqQasA5nxkCehhJ7Is5pJNTY8Kq?= =?utf-8?q?ngHuEUHk8mgStw87Cxfc0JQGwCTzyUDgdm85tTSAw2WqGrSt2Xsc988wFtPqPZrBJ?= =?utf-8?q?JU3ZkeJcfvjCSS2SsXmcAumHqbvEBKpuzJ3SXkThtnKQxjdxSfnRzy0dFRXkXwZ5T?= =?utf-8?q?DRMNQlJsRFndAwhqor2oCy5tQ9/wNSKKYT/h9HGEXkq7iTZxt7veembNkLWrekA2H?= =?utf-8?q?bL5uTS1jcXq/Y1/uKKmUBljlWmSDMbtM/yt0NtyOzTp+xhMQArRPbtn7bFgwb1SVa?= =?utf-8?q?mvyhH96y5Jmu/J9jdz15jHV0rdU8fUTjKibrQUQhb+Y9bLGDrG9X6r3kNnC4I909n?= =?utf-8?q?5QQeMzBOMD2zAn/ySKnGU164RKCw2L2L3mVYZR2hfBAA78ku3MNd9rlgT9LBPGKJk?= =?utf-8?q?Uw7W/Q6vvQr2fNeUxoqt7ZHK5hdDLbUKdcyCcPdC5Xh+ckDWnfoG1wsrYlQJnNtB7?= =?utf-8?q?OJwVoPc0Kms7CrYDrQCe4O9xl7sWGUSbRVxm/vj92V7sROo7RhiSSRjI2u9IVvYJm?= =?utf-8?q?3dszPwpdEvB0r3ZIsphGKxNSNkRVWuRk+Zyvw/AhNro36dHtmFMWI9V+jXW5juTlO?= =?utf-8?q?T0FKZfk14leQh4PtnSY6OIX7xzBr+sE1iU7+ZzcCtzv9vpFTX+N+QFhTrCwki+p7t?= =?utf-8?q?6qh9A/5XZ2CKKnR2yYJfwbeWPAhZ85KdCm11BI52UX5kZrRiwpICAL+aNFzzUT5yw?= =?utf-8?q?Dc+9v1o7RT0pwNFYSbP9NA5IHwakUiQPRpUTCRF0QiDAJ3+rGf5eC8Tqm/pfTnaXm?= =?utf-8?q?FplY+Pogq4ytGmgM57jtTBWXs6WmeVW9oN3/AqzoURxfnJG5rNoad33f+ZhCOQKa/?= =?utf-8?q?8d1kGizV2tuhTwLmOfL0y4QvVxdiMkmXUnWJPo1l0tsEjKEt8IfCrdN7aikWkLct7?= =?utf-8?q?kgxGsTPBQa27i9rFfSgIsJpAPna+dQOJtXR31HfExr8JvENzsjMx2PRyiJaZtHkMA?= =?utf-8?q?TO5Pu/ALfeYVT/Q4e5t9H4FNsg7QQYnSIsTCbtquCRTvheYsLnJiDx9UY+gi4YSYH?= =?utf-8?q?/XzGcXLltqrBs1usxzcYs1RYhWw5wMEE3vjK7MBNUlQW2FfF/sPD/h6VIsC7gEWg2?= =?utf-8?q?QFARfRZKnQWtgSWuCSzIAtSgmsVCJPubLSapzCHBxN9c9zLceFsl0pKnBDzKa3kj/?= =?utf-8?q?AkivHDPAHa2WvR5+6nLvKnl+MUtBcJCmC+iYBoOz1bnED446v3xvVdEZcvuTk/Hra?= =?utf-8?q?anNGNHldfzcsK4mtGITYqiaimco5KKkjNMGJc/Mqe5Cd0yrJekG/NjCEqa6RQybbE?= =?utf-8?q?RyHC2xBkiY6/5cmWagmbAKlBAqNbC3EgT0LvL2RLtBtDXl30MnzL3z/BJcJaRMScC?= =?utf-8?q?sZ4yCFUg9wNZm7ZYDoLYnON5gK+upfhosVwnz3bHnJ2zhGsSsW2kUQgQdZQkNl9Ho?= =?utf-8?q?vs8cqlSGCVMC4Bqi8LLP8cO1N0CnnpNAnOVIKS8vpLkg5gKWL667Lvh9UziHqhUA/?= =?utf-8?q?cyzR4gqcxz/Ahs26R/NxdFdGOKKkGeRxGQ=3D=3D?= X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: ca781bdd-3157-4d9d-05cc-08da81eebf88 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.3314 (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: SdsS1xn1/90mnXYYA8FcHa53WeSEMztjCUAXM8eO+ezXYemiduGHIbFQjcDvciVFOSIT/S9IH1OxVyWyIO4XOg== 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 a bintools base class for packers which compression / decompression entry contents. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- (no changes since v5) Changes in v5: - Remove self.fetch_package not None check in fetch function Changes in v3: - Document class properties Changes in v2: - Add commit to add BintoolPacker class to bintool tools/binman/bintool.py | 106 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/tools/binman/bintool.py b/tools/binman/bintool.py index 8435b29749..ccc1904d62 100644 --- a/tools/binman/bintool.py +++ b/tools/binman/bintool.py @@ -1,5 +1,7 @@ # SPDX-License-Identifier: GPL-2.0+ # Copyright 2022 Google LLC +# Copyright (C) 2022 Weidmüller Interface GmbH & Co. KG +# Stefan Herbrechtsmeier # """Base class for all bintools @@ -464,3 +466,107 @@ binaries. It is fairly easy to create new bintools. Just add a new file to the str: Version string for this bintool """ return 'unknown' + +class BintoolPacker(Bintool): + """Tool which compression / decompression entry contents + + This is a bintools base class for compression / decompression packer + + Properties: + name: Name of packer tool + compression: Compression type (COMPRESS_...), value of 'name' property + if none + compress_args: List of positional args provided to tool for compress, + ['--compress'] if none + decompress_args: List of positional args provided to tool for + decompress, ['--decompress'] if none + fetch_package: Name of the tool installed using the apt, value of 'name' + property if none + version_regex: Regular expressions to extract the version from tool + version output, '(v[0-9.]+)' if none + """ + def __init__(self, name, compression=None, compress_args=None, + decompress_args=None, fetch_package=None, + version_regex=r'(v[0-9.]+)'): + desc = '%s compression' % (compression if compression else name) + super().__init__(name, desc) + if compress_args is None: + compress_args = ['--compress'] + self.compress_args = compress_args + if decompress_args is None: + decompress_args = ['--decompress'] + self.decompress_args = decompress_args + if fetch_package is None: + fetch_package = name + self.fetch_package = fetch_package + self.version_regex = version_regex + + def compress(self, indata): + """Compress data + + Args: + indata (bytes): Data to compress + + Returns: + bytes: Compressed data + """ + with tempfile.NamedTemporaryFile(prefix='comp.tmp', + dir=tools.get_output_dir()) as tmp: + tools.write_file(tmp.name, indata) + args = self.compress_args + ['--stdout', tmp.name] + return self.run_cmd(*args, binary=True) + + def decompress(self, indata): + """Decompress data + + Args: + indata (bytes): Data to decompress + + Returns: + bytes: Decompressed data + """ + with tempfile.NamedTemporaryFile(prefix='decomp.tmp', + dir=tools.get_output_dir()) as inf: + tools.write_file(inf.name, indata) + args = self.decompress_args + ['--stdout', inf.name] + return self.run_cmd(*args, binary=True) + + def fetch(self, method): + """Fetch handler + + This installs the gzip package using the apt utility. + + Args: + method (FETCH_...): Method to use + + Returns: + True if the file was fetched and now installed, None if a method + other than FETCH_BIN was requested + + Raises: + Valuerror: Fetching could not be completed + """ + 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') + if not result: + return super().version() + + 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 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 From patchwork Fri Aug 19 14:25:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668174 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=F1zNv7xH; 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 4M8PJh0Z5cz1yg7 for ; Sat, 20 Aug 2022 00:29:08 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 947FD84C01; Fri, 19 Aug 2022 16:26:51 +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="F1zNv7xH"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 236B284BC7; Fri, 19 Aug 2022 16:26:20 +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 C356384BA5 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=En9s2ZDvKiHI7lMlFxAt9ndDp4aXU7NTuM1nAeZMC4gKcEmiUW76LxbQJDYtCgW2JSbiwafvov2k4IUhqo4QFEKG6QEZPCWcnhzH+eWUNuFEczKxAPHqKRd32vpOLns6sp+u3YYXs4n6irpNOX2/v9LcW6XKFwLLDaSABiiECUp1pVlm2lE+5AjMuRaeOTpHAjaU+kJ7CIJA5yjKuPBwfoipQBbYaBWABUr9Qk0F7uUzOJnAm4c2F93KkAIWgc9eWiGyhUVQYd3uzPeo3ut8l2sJq51vQLUVf8b48IxhBc4V7R2EvL3nM1a5d8pmuxfphy/YMhOWnoFpFzV5LipGKw== 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=9p1/vLG4dF2/sSvN8yE2xH+Aw+XVCkAL5NlAJXi6DMI=; b=AFyuNfBGDgfvltvBV/x4oLy/vQRG4dT+5PiMEpBKgBNsMZ/LyCtTVoa1sxBO3/BMgCzmnl2Z+9TeoOlaI/g1QXRC1F5ycTsuusgIVm7dEU6besfES5sxDDID9Qqjkjfkd0l1ffYm5uQMpAK2HIz+J4rENDoXMzPl2qzZJF0UPd2blOAuVqoiqOS3wupUdUV6W4kDkuCDp0LGO+aJlBijE0USkDrpFvJLzsjIES5rCEdm8xYl+aer6XuyVtu/fa6zjeUsrV6ilPYYM77rkft0N931XuMRp/z0NRkMR+Jlwg++lCu6Hg6hgpqJkQnKs3KpgsC94FNt8VizJAES21ZlpA== 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=9p1/vLG4dF2/sSvN8yE2xH+Aw+XVCkAL5NlAJXi6DMI=; b=F1zNv7xHYoS1ACC68uWH3cYcc8thJNxLm/UDX4PtIEyYCZm2GUDUFZpto2nwfUWr0hiEfqkCjI0CPYtwe8va1qrLTyUfWopDPlv0kDNb+UelCwrTzXSi/uzGq0QHmH62HWlpYk+Qb/djMilUJIJQzzz+zQH64eBZuSEXCFO+jJ4= 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 18/21] binman: Add gzip bintool Date: Fri, 19 Aug 2022 16:25:35 +0200 Message-Id: <20220819142538.24847-19-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: a5261d56-f7dc-4d7b-79d0-08da81eec012 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: x+AeJGtGExHCvJasTJAYcQeX1nQWVmHzeMhtw9bVc3JJQ5iaPLJKusBAJo04zV2ldNQK8B9TcTIIlvXfM/Wgax7n0ipEdLI21jBuPGyUM8AwBlvf0l6P3VyB0TqKsUU7P4gcrijeEmlVCzw4ZI6lN6iuy81TFEhaTyxnykShOB9JHHP2KAv4m2/dGRpKfN/4nyXRLpNMKqxQRkB1beEw1KZaRvTOSFuVP5f3KYlRkDju+3HEBrnZZn3GkIpNs09P8qeNTa74fZfMr9Fu7KBbYcfmxxXjg1zx6AqOUXgtCc3f1GNL0QyxSc37Kk+dAs/sWiHtrEwEYQFoTHryHr5kt5FC3/9dt01tSQO3iCUYibfkSS7E+TRysDlpSKvpzNXBy+k2EZRmy8O0B9vTqqItsNT0BBTHnTjwPPZ1VizGG+e1r0bLSI0Jh8mAsOxx8Vsu6JIxhxzyoUjqRVXpmv8ZMvUvePV30EORwelcNzZQq3DMes6tLwyJ74/ZVe4GOOBJiUA1O6vSeR/Igy/8PJzLuhSqsMH1iicNQa1hyFSIPyFK4ZwTCtTMafjq0OTDHUsOx9sWx+EhRl4SB9GMafK96HHomWm4cF9rhqH7VtxIn0XlSlaNYtoya2LmgqhDB90XVH2MX5QwynCIEj0iL1SZH4wlQLXy/GgK03rQyARdVMUgfE1RCtxEepWwIesjNGEfuCGvxzll/zwLIYftIt/bfoazCwADSGgvmzOvIVjL+SZI3Ed3DO5lymSctFEd+6EgYkI1V/1DTw5QupYUDyZENA== 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?MULMaMC1vM6bzJlMSjTXsjBLkZ1d?= =?utf-8?q?ONHbN31j5rtXQHpO+WoXgNLaW3c7s1CmHEPUhksBKdnW9XZjp5E9ehsKvr3ShMmEW?= =?utf-8?q?P7i93a/kbLIKxXPMM7KM2EA+ICBm66twCrvkhfUYs2qOL98K0oZWeN/GYRns91PRQ?= =?utf-8?q?nFA2H8LPkmueqAQB7RmicPbqd6rWp19/vRHF4AVsuDSkfaKZ4PspfMoQAQh3z6/Df?= =?utf-8?q?W28oUW2tFYGW+O4XcSCj9byWz4mWOBamCfWJpnPZtGYur7Q5TkWvhqz9Xt9MZ/4EK?= =?utf-8?q?7zTROFqt+RhM7OxL31N8Xvcoi8zyRVNZgnJQo1F0LpFL8j1nE3ZKphz73gnVzdf3w?= =?utf-8?q?xu5mb2BLRXUxsIBxmk23NRe1llWrKqrQfbBje2BmhWLyfinQK5fJ1UMn/DFVH+f/b?= =?utf-8?q?z0YE5t9WIF6sKsk4fTS1qy9e/UfnSqGHKNOtDiXAUdZ/jmPRDhGrHhUfmfQIyKuN5?= =?utf-8?q?8dH/nU0V8loplZxxY25KJMskBvMYahp2Yd5yzyUaKU6STHUDH13zPF8NqEjh1lz1c?= =?utf-8?q?y/DHrCDBsKcaXd8u43tfvAjn1at8nPeHgPEMzhthj+PgqwqSAW2yGvBjvpAEc2RlE?= =?utf-8?q?/B1wiE5s8Dv5FBS8AwN5kNmpDQ1y+zwzjLcGp0OJlDM83tbWoXUvk+ONcVjKsB8KV?= =?utf-8?q?hk/KgJ9NrRJSouTO0BpTBkvbhcL3RyNVuzmGVmEx/7Cu08a8cQcZHXpBLRCa8aT+8?= =?utf-8?q?UMBuFIwE4LLVhygftAJR1yrqCLVkXm5A8FIIb3Cy/sKdoqUJ+oEqIQj4+qfI1wXAk?= =?utf-8?q?S2h3UqOcd9sHmirkr3gqVHQ0Bt/E1YUcnr9WqrRwhOSxTqV7gLz1h+dqRsAlCqL4P?= =?utf-8?q?Nn1zzedOjNHW4GA0qw90MiR6NfXOh6MOQ81mfYsQTB87bhZ2LA+unTjtip6JK1Mbj?= =?utf-8?q?PEYc1bWkBskJaMZPke6YFeWw6M3I8vbQMlPFSPbdFe5IjwNYnD7uwXSfYq1BX2OrY?= =?utf-8?q?PJyI16QONPyPET/VKDsEmtw7ZbB9G+301BLaaJnwKEHbOMA53gvQlYS0M30Rjrh51?= =?utf-8?q?7vVFPWRjyUSBCNUa1BCIkR85XmT+oKLCbW7WArKN8x6zYf18MacjDJ/wZl/0bu7Sw?= =?utf-8?q?SanIYabbYorRuxckMfE7GL7tR05MHpNQDceIwHpzCkXIAh4kPYXloj0E+aSpV57v/?= =?utf-8?q?UJGZmcunpsKqxMXHrDm3IdSoT4v5lsz9vtIpBLm1kuk6ohJJBMpyn4TOJMFPXHmd/?= =?utf-8?q?Xyovu4eC/dkIhKxcVrW8lR45N06UUyvpNcQ3K7NSiVQecS/I1meHCSV+zzr0P6XOw?= =?utf-8?q?thDCO9bHkxAokRhCyiOVk1Qj3GHdX/PWamVMJS37KOYlt0p8lJQeoORJ588/1rY/n?= =?utf-8?q?DIfZhLBJCgK4NXLGtC0zShXvgUBTDGXS5QVxnMcNQQtyKvZfB93GH3kdp4yNl+K/H?= =?utf-8?q?WPu99Atz8LdSca8dRigztyu/iqcFmPJgEpGILW31VaY+lIsURAbVv5q3tu3Oy+eYl?= =?utf-8?q?oZPBYCkJlEDtLbY/kiel8ZhQ5Pgvxm/uwP/pLyc6iEwYQpwYdu6Ls8XZY+YaYy80o?= =?utf-8?q?IAeSScO6Fo7axYhfwY2K4glX5SPXWLDR9g=3D=3D?= X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: a5261d56-f7dc-4d7b-79d0-08da81eec012 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.1920 (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: cMBBLI38m+kpS47ovFEVkzi9MGsExf2YFkAvSpOtAevT4cvB0IGSMeeJWHkQzUOBZ6hOf2fMEqTbo7XrMykZ4g== 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 gzip bintool to binman to support on-the-fly compression of Linux kernel images and FPGA bitstreams. The SPL basic fitImage implementation supports only gzip decompression. Signed-off-by: Stefan Herbrechtsmeier 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 gzip bintool tools/binman/btool/gzip.py | 31 +++++++++++++++++++++++++++++++ tools/binman/entry.py | 2 +- tools/binman/ftest.py | 2 +- 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 tools/binman/btool/gzip.py diff --git a/tools/binman/btool/gzip.py b/tools/binman/btool/gzip.py new file mode 100644 index 0000000000..0d75028120 --- /dev/null +++ b/tools/binman/btool/gzip.py @@ -0,0 +1,31 @@ +# SPDX-License-Identifier: GPL-2.0+ +# Copyright (C) 2022 Weidmüller Interface GmbH & Co. KG +# Stefan Herbrechtsmeier +# +"""Bintool implementation for gzip + +gzip allows compression and decompression of files. + +Documentation is available via:: + + man gzip +""" + +from binman import bintool + +# pylint: disable=C0103 +class Bintoolgzip(bintool.BintoolPacker): + """Compression/decompression using the gzip algorithm + + This bintool supports running `gzip` 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 gzip + """ + def __init__(self, name): + super().__init__(name, compress_args=[], + version_regex=r'gzip ([0-9.]+)') diff --git a/tools/binman/entry.py b/tools/binman/entry.py index a0c0a02f5d..930c7910d2 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 = ['bzip2', 'lz4', 'lzma'] + algos = ['bzip2', 'gzip', '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 9fa8e9e049..911c955cba 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', 'lz4', 'lzma_alone'] +COMP_BINTOOLS = ['bzip2', 'gzip', 'lz4', 'lzma_alone'] class TestFunctional(unittest.TestCase): """Functional tests for binman 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 From patchwork Fri Aug 19 14:25:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668176 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=wuMfrG8Z; 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 4M8PK528Ndz1yg7 for ; Sat, 20 Aug 2022 00:29:29 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5F78584BF5; Fri, 19 Aug 2022 16:26:59 +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="wuMfrG8Z"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id BE73884B42; Fri, 19 Aug 2022 16:26:22 +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-eopbgr150089.outbound.protection.outlook.com [40.107.15.89]) (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 27E5184B67 for ; Fri, 19 Aug 2022 16:26:07 +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=ibdQoFmxpFyaaHHPv8DOt7piJfbcgz4SkH+IuylTCin0+5zDuhOTjlrGDm05c3erEYGu4aqmjVVvuyu0Q05UsIPyTAr/nSepGecZJciJ5bAz+Il7FOI6bA+a8OEZ71tdr1JX4qgAvQcZaYb/uMUh7F355oQiAbis5B4ffbWYQ1auAIA4mbV66KKtqEwentkg52QVXh+ERvMVQikLORK6RwJSlE0a75wt54rkA7U2DyD/tu6pUP9+Kv2bExA1yvwgE7mf6Z/hT4m36zamK077RBg8CcicJG8MW8XTK46vhJVCp5MGrRaPrm+rGgDnK1QoDtGvwSEgpzuAfI/xjTkZYw== 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=hzS8MDSas/L5jhzcRB8cbDm0hSja8TpG0RmexPyo1aA=; b=JfDzcpVHAOZMzKwJvt1wLa1MzRiC3tPM5Nqk8OQO+8egkU9snYaPcKkXQ5fYS93u2dDE0xskjzCWDbSkAFnSuq53ziEMyF9fP5yasgpCBS2KLFojCLzcH6Wq7Z1YSB/apI9+iq8ymflUl6ZtiqucE6UrF5Kp7azs/c/UeBRwxz6rN8OsOtdtCw+b9x0YgLyp6OQgXpcoqAMwUP3yYlgIBSPeMQnnIGi+EQpGUYUGJiN/vmUp6BecyMuOBtQCr80W4ldrUMRV1OaRbYiLcszoK7JWbKW7cwwA88ZQpzlEECb1WJ0/+h3gHTQP+21COEnN8Sb0BkIb3XfxN7rHqvNjnQ== 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=hzS8MDSas/L5jhzcRB8cbDm0hSja8TpG0RmexPyo1aA=; b=wuMfrG8Z4lbo1AyEajddDLaJ0Sbzhbhidte7ah57T6J+eZ2vfAo51gVwFov3/XaFuK4vabeFezc1vzpXHb2nfynDqhnyDcDnHPnDms6WH+3c7GTlnEiGvIeQwFjKSFtiC5JVzSvYk+XHmEh72vcOajs5tIpB8HQ/8M3cz0EFNZo= 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:06 +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:06 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Simon Glass Subject: [PATCH v6 20/21] binman: Add xz bintool Date: Fri, 19 Aug 2022 16:25:37 +0200 Message-Id: <20220819142538.24847-21-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: 3f9f329a-be8b-40ed-0e7f-08da81eec09a 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: i+wemZt/7Wmfe1ps1S36qgeYbG2FTQttnPyTdFcFAD1mrDxWaG4cfsb/3YQnJnwJfBofg3h9WDCPRG8ZOIQjD4A7oc13gUGuLgWePFfbZH8NAz5t0YNogrpIhYad3f5IQgfc+jVlMVakKGttsGjrF5k9lQZpY9dlV8jyMw3sCeNKcxxmyk59AOid3C3CVhfDrrib+WsdTcJL341t1aP3x0c0s1GDib2yoVtm6DVQLLLt0QNeJrBRUlOEQOyxmgcVOrFgDidAuagyXxzJhFyXoL+RGfgEkcWDVmojR9v034h8mOAQOHyjbAVuITqSxzVdSaeKIJ3Q2CPPgZB/DRe+NELMa94h34K1ldXK5Bs/xx+wCnUCrZHM243ju5KJ2vZ89RrrN1yWSLDkKH+7ab1O5r0qmhdQJBe8x6ADS+Js78mMi4y4X4nkPgdjOoIIx49OTPL0JFQQNaBe3uF6fvDdbLLceRlxOZzN/xi06Wx9Achz+E83RrcA8OGDz4wA/WcgQUUC/YlE/5ZX8ZsnMiukzkun1W/+G5idP8Jh1jYhNMe56K99kIkZJbLZfh6VSiNnEeiDCro/h8Su5giwyZ6L1ck0b4AB6CKp6gTRsB1kK1WrOaUOioxhYgQ9Km4+pbWNIrlXJtXhIWYFSiOf4Xb4I1FHpGUvqR0UuzWFWB0brRH+IgOqWo/GDBH7RLwTaS9NPXWTgv0htH4YtgoRSvtSFst+9y/0C/QRvqOH7IZ0uW4hxPKftDYrvHjB6ZRFEvE5l+H47JYMHuNqYHjP35q8vw== 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?JMwK0s9KbhipeZSrB7PMzmFc4kqv?= =?utf-8?q?iobonxG3tmoAPyn3lE4AB7dNTq2t4+r70BGVo9W0ieCitSR4VvxKF2lbZwcvS56dG?= =?utf-8?q?/5/I7UD/eEa1HgtoUYWEdY5XWQNOC0kvTLqnwK0dPDcgBpy+OD9YP2QCOXqM5YlS4?= =?utf-8?q?IJwee6EsLGRmUS4EH6HPMej2gt/nPNcb0h5DC6pWc8uE0n8A/NY/DWGPIzmGwhclY?= =?utf-8?q?W82pihkw8YalgmZAX3I8FjxQT1ljTad1+j1fuwkmG17JAa7uD+eccMrXJi0EDhRuW?= =?utf-8?q?1AfWWLkGgEX6d9klmKlp6zjRkWi2PAvz8gGF1HL2pCPyklvNwBNO2czlEzr0Rp8Tn?= =?utf-8?q?63DQXpfJl9xq9I4K98RAHLyBl3UqC8q19TfZEJvxk5rCT6og7LZWpGWSVfKstb/fh?= =?utf-8?q?sl7gpF08ZBPTvWap97jktlT0ZvMLhNy0aEd4ip/oidEqoj2ccSdh4pMxtlc4LH3aO?= =?utf-8?q?nqzb3+M3O9z1eEIk/eqWo3imXoTTrV6cVQMJegEx5X5r6HYgr3hafwjjh69oSJ+Oo?= =?utf-8?q?LbWFhc3oLdutLfILrgjsuBxiH8WPjtUh0GnNDGqiyGG+z40y9R8jSONfNFqJJ44z1?= =?utf-8?q?1rbGFKD/mLpdbth9PfDEWdXF0GeRrIwE8woF4YYovYTsPe/0+JSgCLh7TUTwZn4/h?= =?utf-8?q?Nj8Q8ANi74Q6epJ2ZpIVe/8+oaknHu7g4wuWJm8YIG/OfGRT7UrW+CfeD3SAirZda?= =?utf-8?q?7mLZaoIdbBgw1uncNkjeF9cDEEIva7FKkwUDvUTq0jJpQrLDbkMc7/nBTyuo6aE6b?= =?utf-8?q?5uK5TWBOufr5kgsCYjQ7fOsY5d0eRWcnZjbQbivYJXxwA2DWOUAISX78Q6Nb5fGsO?= =?utf-8?q?FXSHOY8v/hXfK1/mWe0frZjMY9IZVP+vi/HNhOOjf1DrAXhoT8vhqcHr4WGcdVef6?= =?utf-8?q?D8osMSXScMAEaWYHUYiL5Eo3uJTlicIa2hujypVc2MqjPtv1fTBKKQIbHVMUGWVBg?= =?utf-8?q?RHj/bhiNkuxt5+iGTfdSOD2B1zqV12EQ7QPmNcYgmXbCS97O5Oa8Vm0bWUcxk2dQn?= =?utf-8?q?VSk5Bx/Vjk6fWfediPIMYK1KUW24SJ4F6frtd303+/ZCezcy1U5cD/VstUg2cnL3P?= =?utf-8?q?rCAW/LojdN9M86IRU7L803smlTh1DPnstPjoKwvaLzXET+vL+8GZLJc4Z1DrWZdn6?= =?utf-8?q?muN3lwJtFfwqOycqGl7bYSRpEKzqnZ8nBKORwFXGKe+ceBxcmnfhv643BMfC8G+Bz?= =?utf-8?q?GYg7UQYCC/IXfs/GLLaGzMYYUD8mFdxm8jKs+toYk5MsfnEdOkrUZvgXC1QkKCz72?= =?utf-8?q?YjbJ7bVyCJlykc11+FI+yiHFc2tLHyUUOjySAbifNgl18aZr4K9jNhxFKJuSNp7BH?= =?utf-8?q?UzvwANRrQO7r5o1hhhz/pgzV049F+xZ0Z5jm8Pr8Q28R6a9Mo4bFoN9aq6vB9E0b3?= =?utf-8?q?7usLRprnrCj+bx1AvZeWDutW7xGSYQrxIiNyD9wpfbrwVb1qdkvSDCHiLNqld9zCw?= =?utf-8?q?X60ft/UgIzTuNNdIVsUdMkYwrlzUntUFHgV1ajd2AQ52vOWB2v4NmLb0QGXoSJ15I?= =?utf-8?q?LnppI98NJsHHgFXZpHB5SBEWiKjWTLYLlw=3D=3D?= X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3f9f329a-be8b-40ed-0e7f-08da81eec09a 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:06.1273 (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: bkAHvJebR17+mhPXoYG7fMIfD+tFSaz6vBVrqWohn64ggQ04z+JA0mvFBwILlecj03QP55sQxeaDwZJoxrL/tQ== 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 xz 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 xz bintool tools/binman/btool/xz.py | 31 +++++++++++++++++++++++++++++++ tools/binman/entry.py | 2 +- tools/binman/ftest.py | 2 +- 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 tools/binman/btool/xz.py diff --git a/tools/binman/btool/xz.py b/tools/binman/btool/xz.py new file mode 100644 index 0000000000..e2b413d18b --- /dev/null +++ b/tools/binman/btool/xz.py @@ -0,0 +1,31 @@ +# SPDX-License-Identifier: GPL-2.0+ +# Copyright (C) 2022 Weidmüller Interface GmbH & Co. KG +# Stefan Herbrechtsmeier +# +"""Bintool implementation for xz + +xz allows compression and decompression of files. + +Documentation is available via:: + + man xz +""" + +from binman import bintool + +# pylint: disable=C0103 +class Bintoolxz(bintool.BintoolPacker): + """Compression/decompression using the xz algorithm + + This bintool supports running `xz` 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 xz + """ + def __init__(self, name): + super().__init__(name, fetch_package='xz-utils', + version_regex=r'xz \(XZ Utils\) ([0-9.]+)') diff --git a/tools/binman/entry.py b/tools/binman/entry.py index 0a410971d8..0796fbe0c1 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 = ['bzip2', 'gzip', 'lz4', 'lzma', 'lzo'] + algos = ['bzip2', 'gzip', 'lz4', 'lzma', 'lzo', 'xz'] if algo not in algos: raise ValueError("Unknown algorithm '%s'" % algo) names = {'lzma': 'lzma_alone', 'lzo': 'lzop'} diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index 2cac505d8b..b337e2168c 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', 'lzop'] +COMP_BINTOOLS = ['bzip2', 'gzip', 'lz4', 'lzma_alone', 'lzop', 'xz'] class TestFunctional(unittest.TestCase): """Functional tests for binman From patchwork Fri Aug 19 14:25:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668178 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=CEyy6A+h; 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 4M8PKW3jT5z1yg7 for ; Sat, 20 Aug 2022 00:29:51 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B00BC84C14; Fri, 19 Aug 2022 16:27:06 +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="CEyy6A+h"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id BEFA084B42; Fri, 19 Aug 2022 16:26:23 +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-eopbgr150089.outbound.protection.outlook.com [40.107.15.89]) (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 6316E84BA3 for ; Fri, 19 Aug 2022 16:26:07 +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=jY8zqwhXscNcCtLnEXj3Ytk5u4Y0yj1vXlSexnVp+jggxEb5wbdBCTuxmV/SbT7CixL1Vkzr6iWxl5ovY9e0lsOe7qcXWxrcqNJBs1zdd/EZptox90v2DpiwJHLL3aSWcEggonx5qXAEhXJ5KrslySrl7eL+rSqrLBwhXqlCt+G59cEpJjSH+YSsYuq8h/fXJQYYifZYSi3VQ+J4/JI9XO1ForF+8rAu9mecNUpRDUtnLJaBFB/tw7k4VeVHQdfk/LNPHYwGnd6AE5AnZ3TTV4quf8bUTSnZaRHWiVlvfbjOJuZJ+jBXT3NfH8b3N5rsFhLmveM9/Jzaqbx+VCUH4A== 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=ALq/v7ny9AgNGhvsUhGSGmAKJEci3WqMuHA83cIXNn4=; b=f6N0stIqG+pIO3M2KbRyr23ucqTEEkjhwKacspepONvg8NHdO7CF0Jr67lLBb881YpDxrphw+QMvpqh0twy6qL1Bs4is+B5xwduyavxjE3pdofywiE8pXpMI6UJLZSddXEjMGY/c02UM+BvzTdsE6WnfW2udhRA4FMV5BXx4f7bCDnCsaFKzRBBlZiPNtSz/4AVn3hvtSSXddicgaRgFG1N1GUUM1sOii7yMpiMaiLUcmd7LMfd2+WrrhNi3f0bp72ktHRGIV7HZZLIRG5ESdh0x4B6BT7qtH4IMq30J9X6AgvMp/4xqUP3NE4nxGBdasei/y/9BaI5BUhtOnG19RQ== 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=ALq/v7ny9AgNGhvsUhGSGmAKJEci3WqMuHA83cIXNn4=; b=CEyy6A+hf/q2+kMngsGQGpbGMmG/3zDE9EyZAR30UNmsFm3qFK/wrzWsy3xAALzyER1fFTUgWW2wWmxj8Wvpe5O1Cfan0VzCg7W1nXUtd7AuAnI2ymvHq3yRyL8yy7gtXTL3ZYKP2KGOZUSIvwX2GQVfJEfse6JBPUO3rhEdh/M= 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:06 +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:06 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Simon Glass Subject: [PATCH v6 21/21] binman: Add zstd bintool Date: Fri, 19 Aug 2022 16:25:38 +0200 Message-Id: <20220819142538.24847-22-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: 711dc5e8-cf5e-4790-1942-08da81eec0eb 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: jpbdEElzf//dKW112aAtf0cGNvYs2UKnYjZTpuFSX8gvXfR3HbizZdCrLNAMIs2gVOZeAg2gM8bs8/I7AnCfnOKlJM8r3xLFu4Xb1Sls2j06kR/AG7LT45WhBiqW//yORNeZFq2nAZO3L+CzIvYGIjjf16MvVKIkTKGC6Y9SoaHk85/n0TAWh3IQJ9u706YsEl8YzHAgSNAV7/DMZRnGmjoEcfq0cfUnzDnCR/Sxhsqm04CY/9odBMHwUqgW2kLler1RuRsWeLPARIAmAb8SnuUxLvFhy0TOdUl63w19e9RTlNbpZXtWg7SiLTYnvwWwnDNCR1eHm/lYFzJYMAs4ehI515TULprGXFW6UCwoTehCEnTfkIT9M1Rxvr0bc7KiSciIUiMOLC/Kx2r3HkHCppXOWuerVLdgSYMtYvOmJpQ3kZ002kHOpw/j/LruDHtDjukUIlBE8XvzYKwXEr9F8rPSNID/5BvlMGfHEFyQX9ZxvR4EPz5wFM9Cw178fdukqk+6UHWRq8qL7T2eQRRXoRikMTlpbq4isqFrupbaD8Vlbm5i73dq/E+el9mm5+KE/6fTZlghHYL5ogMaZM2cU09pD6jFhZObW6WLQIicNIdLhzICWJaekv6c9BSA+1OaaoIZpz7p0Pg94kluRtbJozHbSsGRdYywwsyDyI6ZNfmIDNwJ1bFBKJOeh6X0YA6UyBVlw6GpUgAAIastagGfdHJcWVxzy9m06aanMU9O91Rvub9qX1uM+0yB+2jJq9YpM2QNbuRjnRg5Nt+PeNoRaw== 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?ZIFKHqFG4DgbU4QfBV9Mwpod/laJ?= =?utf-8?q?VUIEXebaDoBjGDHyYLImuMFlH+iErZWk/H50baiQWTLMKyXYOVD9vqRuNheaicMwm?= =?utf-8?q?1c9upWKv1mMLNydVnAK1R1pUfG2IsdgnmN6ozhCCDAoDvq8e5Hek5dbLTJj9un7JZ?= =?utf-8?q?2afAi9ctWFr1r8fFnUywezc1yzChIMrRi++/4tCxXrDFi9vrZMLXkCpdR0MB/TuMM?= =?utf-8?q?qe3mkxI5rolbcX34WOqvzd/tp5OC4D3dj+yaZqkqJHXQOCPq3l5/LbPPXknaHGAWT?= =?utf-8?q?CLPWxKz41JXAAuSRJ7kHrqfsyIr2R0HEWTiCkaj9fqbm5czlIvBqldFHsVooB2Mxc?= =?utf-8?q?scvUxutmhAyxQHh64d/caCYaPHt/1xJbF8a7WBkYXxtWX3hTlYpgCTuQKA7jM3nVS?= =?utf-8?q?QpaUcZFhf3Y+YU7Jbk06AtUTiqCPUC+e6tcKxN3Du+4qG/gCgFZitPewS/DhW5+/Z?= =?utf-8?q?m9ncglDouEw2zmGUGHo0j7pzEED/ceDGme1IhX9iqpKcn0qV5cDTFAwgXW8ErJ0Lg?= =?utf-8?q?S4ZlDD70kC/Fe/6WitAXGEjvTC4R07ED+cYdgdF5pN9hLrPdACNKgjFtVs2v6CqrJ?= =?utf-8?q?sxTnwUnpsHCw+bCE2TSpoQ3YsE4Qf/5/ywNZjfOH1H2nCrDdfkV1+vEGuxA2pW0ml?= =?utf-8?q?5+xoWEML0dAPuYbE3CE9Vg5gN0wqCZGHgsxGFgA9Kxn9HtRXRrI3xx4rRyfGVl2p9?= =?utf-8?q?sz6hf04hCUdvSz6V9uHDDYjCu+s9oZYAlTChkrUvonNpRPQE5Pd2W7OCfPQiieLnp?= =?utf-8?q?dQjYL78pqntP39s/JSZ/xBxwNF/dwfQ9+IfzSiU8B1MCsCL2AcUYqtsh57+5T2Gx3?= =?utf-8?q?OVeaeYGGcL9eUubtheVbt5zCjC87mH49NT+aCb2WTf9/quTPkgjED720YJl7qSuGT?= =?utf-8?q?q4zNaQoRHNDL7OC/3rxubfHmPzNAfuSFCozRksDgFKSICGwlPpUSRC6Axsp30hdhP?= =?utf-8?q?es02zMQ5pc56cjKuSFCZQHbddu7x0hMBZSg+5vlDni7066Ii9XYwdSCtzd8JJ8L4D?= =?utf-8?q?b+1yJRguMH7O3Jb+aYYyFcyizYCf6WhqcujAc/qxj1eO4HAKWC0ZkeE8zdx1jaG2E?= =?utf-8?q?OO49kRooGWY48DMcMQYVCITu4lw217S8E7VVmhqZjOo2qj02YPPz7fj3qnfO6fOaq?= =?utf-8?q?Yn97S0PbnL5cz/fqeaRECAVj6ZzULx6Yne/2jf11ItZR/1c9lcC1k0J/RSA9cVd/4?= =?utf-8?q?spKNW3CSTC0KWQr9qgDsHznRlnscP3tDBABdusBwwZYwoyVXS+z7NqWfCo6k6ArU/?= =?utf-8?q?l+XmlAUrXGeg3ysYxCZK2tWu9YZKBrJhk3NvM26eQ+KjsZYIqrnBcDJR1WB7XkwE7?= =?utf-8?q?cdQBCBQNMi9Pk/KIpj1GbxTuvRnrBiFiag3IZl6tw04pjFVt7BZ7Huwc8FaJGcEhN?= =?utf-8?q?hk6KsJnIMf8LOZ90mM6x8ePdiMebxmGttAku8MWPVf37RhJsLEJpiQuQnWqciLp54?= =?utf-8?q?zaug7SwI2lsbaAhMeIDlZOmTszsDT2lWEpNgNC+aCY/ZtIgDqahnjiMvpT5e4TGhd?= =?utf-8?q?PgzJIL8XDnhbRStt/1LaDZW1u+1Cc1oECQ=3D=3D?= X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 711dc5e8-cf5e-4790-1942-08da81eec0eb 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:06.6599 (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: iYLSevz/PpvuWUf/318sKq54igjyUoYteR3InSFypKFuCfw2QJLRwhykgY6MKtKiCVSTIIv/KxLmivOKFW6unw== 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 zstd 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: - Test that zstd compress of device-tree files failed - Add algorithm name to entry.py - Add tool name to ftest.py Changes in v2: - Add commit to add zstd bintool tools/binman/btool/zstd.py | 30 +++++++++++++++++++++ tools/binman/entry.py | 2 +- tools/binman/etype/blob_dtb.py | 4 +++ tools/binman/ftest.py | 12 +++++++-- tools/binman/test/238_compress_dtb_zstd.dts | 16 +++++++++++ 5 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 tools/binman/btool/zstd.py create mode 100644 tools/binman/test/238_compress_dtb_zstd.dts diff --git a/tools/binman/btool/zstd.py b/tools/binman/btool/zstd.py new file mode 100644 index 0000000000..299bd37126 --- /dev/null +++ b/tools/binman/btool/zstd.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 zstd + +zstd allows compression and decompression of files. + +Documentation is available via:: + + man zstd +""" + +from binman import bintool + +# pylint: disable=C0103 +class Bintoolzstd(bintool.BintoolPacker): + """Compression/decompression using the zstd algorithm + + This bintool supports running `zstd` 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 zstd + """ + def __init__(self, name): + super().__init__(name) diff --git a/tools/binman/entry.py b/tools/binman/entry.py index 0796fbe0c1..7927fbec99 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 = ['bzip2', 'gzip', 'lz4', 'lzma', 'lzo', 'xz'] + algos = ['bzip2', 'gzip', 'lz4', 'lzma', 'lzo', 'xz', 'zstd'] if algo not in algos: raise ValueError("Unknown algorithm '%s'" % algo) names = {'lzma': 'lzma_alone', 'lzo': 'lzop'} diff --git a/tools/binman/etype/blob_dtb.py b/tools/binman/etype/blob_dtb.py index 5a6a454748..6a3fbc4775 100644 --- a/tools/binman/etype/blob_dtb.py +++ b/tools/binman/etype/blob_dtb.py @@ -47,6 +47,10 @@ class Entry_blob_dtb(Entry_blob): def ProcessContents(self): """Re-read the DTB contents so that we get any calculated properties""" _, indata = state.GetFdtContents(self.GetFdtEtype()) + + if self.compress == 'zstd' and self.prepend != 'length': + self.Raise('The zstd compression requires a length header') + data = self.CompressData(indata) return self.ProcessContentsUpdate(data) diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index b337e2168c..134301365e 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', 'lzop', 'xz'] +COMP_BINTOOLS = ['bzip2', 'gzip', 'lz4', 'lzma_alone', 'lzop', 'xz', 'zstd'] class TestFunctional(unittest.TestCase): """Functional tests for binman @@ -5797,7 +5797,8 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testCompUtilPadding(self): """Test padding of compression algorithms""" - for bintool in self.comp_bintools.values(): + # Skip zstd because it doesn't support padding + for bintool in [v for k,v in self.comp_bintools.items() if k != 'zstd']: self._CheckBintool(bintool) data = bintool.compress(COMPRESS_DATA) self.assertNotEqual(COMPRESS_DATA, data) @@ -5805,6 +5806,13 @@ fdt fdtmap Extract the devicetree blob from the fdtmap orig = bintool.decompress(data) self.assertEquals(COMPRESS_DATA, orig) + def testCompressDtbZstd(self): + """Test that zstd compress of device-tree files failed""" + with self.assertRaises(ValueError) as e: + self._DoTestFile('238_compress_dtb_zstd.dts') + self.assertIn("Node '/binman/u-boot-dtb': The zstd compression " + "requires a length header", str(e.exception)) + if __name__ == "__main__": unittest.main() diff --git a/tools/binman/test/238_compress_dtb_zstd.dts b/tools/binman/test/238_compress_dtb_zstd.dts new file mode 100644 index 0000000000..90cf85d1e2 --- /dev/null +++ b/tools/binman/test/238_compress_dtb_zstd.dts @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: GPL-2.0+ + +/dts-v1/; + +/ { + #address-cells = <1>; + #size-cells = <1>; + + binman { + u-boot { + }; + u-boot-dtb { + compress = "zstd"; + }; + }; +};