summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2022-01-10 06:14:06 +0300
committerSimon Glass <sjg@chromium.org>2022-01-25 22:36:11 +0300
commit33ce3515ca47965546ae924f15f821f9bd6406ae (patch)
treeb00452ff95c88ad91308eecd9b4a4dcdd4c7a6b7
parent992d475003b33f2fd063d437df2a4bebfa905908 (diff)
downloadu-boot-33ce3515ca47965546ae924f15f821f9bd6406ae.tar.xz
binman: Convert to using the lz4 bintool
Update the code to use this bintool, instead of running lz4 directly. This simplifies the code and provides more consistency. Signed-off-by: Simon Glass <sjg@chromium.org>
-rwxr-xr-xtools/binman/cbfs_util_test.py8
-rw-r--r--tools/binman/comp_util.py10
-rw-r--r--tools/binman/ftest.py8
3 files changed, 10 insertions, 16 deletions
diff --git a/tools/binman/cbfs_util_test.py b/tools/binman/cbfs_util_test.py
index 70b42795bf..494f6145ed 100755
--- a/tools/binman/cbfs_util_test.py
+++ b/tools/binman/cbfs_util_test.py
@@ -19,6 +19,7 @@ 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
@@ -49,12 +50,7 @@ class TestCbfs(unittest.TestCase):
cls.cbfstool = bintool.Bintool.create('cbfstool')
cls.have_cbfstool = cls.cbfstool.is_present()
- cls.have_lz4 = True
- try:
- tools.Run('lz4', '--no-frame-crc', '-c',
- tools.GetInputFilename('u-boot.bin'), binary=True)
- except:
- cls.have_lz4 = False
+ cls.have_lz4 = comp_util.HAVE_LZ4
@classmethod
def tearDownClass(cls):
diff --git a/tools/binman/comp_util.py b/tools/binman/comp_util.py
index 7e741cb62c..baa29798be 100644
--- a/tools/binman/comp_util.py
+++ b/tools/binman/comp_util.py
@@ -6,8 +6,13 @@
import struct
import tempfile
+from binman import bintool
from patman import tools
+LZ4 = bintool.Bintool.create('lz4')
+HAVE_LZ4 = LZ4.is_present()
+
+
def compress(indata, algo, with_header=True):
"""Compress some data using a given algorithm
@@ -33,8 +38,7 @@ def compress(indata, algo, with_header=True):
dir=tools.GetOutputDir()).name
tools.WriteFile(fname, indata)
if algo == 'lz4':
- data = tools.Run('lz4', '--no-frame-crc', '-B4', '-5', '-c', fname,
- binary=True)
+ data = LZ4.compress(indata)
# cbfstool uses a very old version of lzma
elif algo == 'lzma':
outfname = tempfile.NamedTemporaryFile(prefix='%s.comp.otmp' % algo,
@@ -75,7 +79,7 @@ def decompress(indata, algo, with_header=True):
fname = tools.GetOutputFilename('%s.decomp.tmp' % algo)
tools.WriteFile(fname, indata)
if algo == 'lz4':
- data = tools.Run('lz4', '-dc', fname, binary=True)
+ data = LZ4.decompress(indata)
elif algo == 'lzma':
outfname = tools.GetOutputFilename('%s.decomp.otmp' % algo)
tools.Run('lzma_alone', 'd', fname, outfname)
diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
index 779b8997ab..19461c927c 100644
--- a/tools/binman/ftest.py
+++ b/tools/binman/ftest.py
@@ -197,13 +197,7 @@ class TestFunctional(unittest.TestCase):
TestFunctional._MakeInputFile('env.txt', ENV_DATA)
- # Travis-CI may have an old lz4
- cls.have_lz4 = True
- try:
- tools.Run('lz4', '--no-frame-crc', '-c',
- os.path.join(cls._indir, 'u-boot.bin'), binary=True)
- except:
- cls.have_lz4 = False
+ cls.have_lz4 = comp_util.HAVE_LZ4
@classmethod
def tearDownClass(cls):