binman: Add bzip2 bintool
Add bzip2 bintool to binman to support on-the-fly compression. Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
		
							parent
							
								
									867eed1284
								
							
						
					
					
						commit
						45aa279800
					
				|  | @ -0,0 +1,30 @@ | |||
| # SPDX-License-Identifier: GPL-2.0+ | ||||
| # Copyright (C) 2022 Weidmüller Interface GmbH & Co. KG | ||||
| # Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> | ||||
| # | ||||
| """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.]+)') | ||||
|  | @ -1191,7 +1191,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'} | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue