- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
31 lines
830 B
Python
31 lines
830 B
Python
#
|
|
# Copyright BitBake Contributors
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
|
|
import bb.compress._pipecompress
|
|
import shutil
|
|
|
|
|
|
def open(*args, **kwargs):
|
|
return bb.compress._pipecompress.open_wrap(ZstdFile, *args, **kwargs)
|
|
|
|
|
|
class ZstdFile(bb.compress._pipecompress.PipeFile):
|
|
def __init__(self, *args, num_threads=1, compresslevel=3, **kwargs):
|
|
self.num_threads = num_threads
|
|
self.compresslevel = compresslevel
|
|
super().__init__(*args, **kwargs)
|
|
|
|
def _get_zstd(self):
|
|
if self.num_threads == 1 or not shutil.which("pzstd"):
|
|
return ["zstd"]
|
|
return ["pzstd", "-p", "%d" % self.num_threads]
|
|
|
|
def get_compress(self):
|
|
return self._get_zstd() + ["-c", "-%d" % self.compresslevel]
|
|
|
|
def get_decompress(self):
|
|
return self._get_zstd() + ["-d", "-c"]
|