From: Simon Glass <sjg@chromium.org>
Date: Mon, 10 Jan 2022 03:14:08 +0000 (-0700)
Subject: binman: Convert to using the lzma_alone bintool
X-Git-Tag: v2025.01-rc5-pxa1908~1562^2~20
X-Git-Url: http://git.dujemihanovic.xyz/img/html/static/%7B%7B?a=commitdiff_plain;h=359e431cbc1d956b65b6b6bc86b7f3f88fc15927;p=u-boot.git

binman: Convert to using the lzma_alone bintool

Update the code to use this bintool, instead of running lzma_alone
directly. This simplifies the code and provides more consistency.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

diff --git a/tools/binman/comp_util.py b/tools/binman/comp_util.py
index baa29798be..2f78bab9bb 100644
--- a/tools/binman/comp_util.py
+++ b/tools/binman/comp_util.py
@@ -12,6 +12,9 @@ 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, with_header=True):
     """Compress some data using a given algorithm
@@ -41,11 +44,7 @@ def compress(indata, algo, with_header=True):
         data = LZ4.compress(indata)
     # cbfstool uses a very old version of lzma
     elif algo == 'lzma':
-        outfname = tempfile.NamedTemporaryFile(prefix='%s.comp.otmp' % algo,
-                                               dir=tools.GetOutputDir()).name
-        tools.Run('lzma_alone', 'e', fname, outfname, '-lc1', '-lp0', '-pb0',
-                  '-d8')
-        data = tools.ReadFile(outfname)
+        data = LZMA_ALONE.compress(indata)
     elif algo == 'gzip':
         data = tools.Run('gzip', '-c', fname, binary=True)
     else:
@@ -81,9 +80,7 @@ def decompress(indata, algo, with_header=True):
     if algo == 'lz4':
         data = LZ4.decompress(indata)
     elif algo == 'lzma':
-        outfname = tools.GetOutputFilename('%s.decomp.otmp' % algo)
-        tools.Run('lzma_alone', 'd', fname, outfname)
-        data = tools.ReadFile(outfname, binary=True)
+        data = LZMA_ALONE.decompress(indata)
     elif algo == 'gzip':
         data = tools.Run('gzip', '-cd', fname, binary=True)
     else: