Message ID | 20220816084210.14972-9-stefan.herbrechtsmeier-oss@weidmueller.com |
---|---|
State | Changes Requested |
Delegated to: | Simon Glass |
Headers | show |
Series | [v4,01/13] binman: Skip elf tests if python elftools is not available | expand |
On Tue, 16 Aug 2022 at 02:42, Stefan Herbrechtsmeier <stefan.herbrechtsmeier-oss@weidmueller.com> wrote: > > From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> > > 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 <stefan.herbrechtsmeier@weidmueller.com> > > --- > > (no changes since v3) > > Changes in v3: > - Rebase > > Changes in v2: > - Added > > tools/binman/btool/gzip.py | 31 +++++++++++++++++++++++++++++++ > tools/binman/comp_util.py | 4 +++- > 2 files changed, 34 insertions(+), 1 deletion(-) > create mode 100644 tools/binman/btool/gzip.py Reviewed-by: Simon Glass <sjg@chromium.org>
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 <stefan.herbrechtsmeier@weidmueller.com> +# +"""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/comp_util.py b/tools/binman/comp_util.py index 6ec371b145..19627e490c 100644 --- a/tools/binman/comp_util.py +++ b/tools/binman/comp_util.py @@ -8,6 +8,7 @@ This supports the following compression algorithm: none bzip2 + gzip lz4 lzma @@ -16,6 +17,7 @@ provided by xz. This requires the following tools: bzip2 + gzip lz4 lzma_alone @@ -29,7 +31,7 @@ from binman import bintool from patman import tools # Supported compression algorithms -ALGORITHMS = ['bzip2', 'lz4', 'lzma'] +ALGORITHMS = ['bzip2', 'gzip', 'lz4', 'lzma'] bintools = {}