Updater: Gzip resources dejavu, refactor for CompressStreamDecoder API (#152)

* Add back uzlib

* FBT: Support different resources compress methods

* Tar: Detect gzip compress type

* Tar: Generic compressed stream refactor

* Compress: Shared config params

* Fix comment

* Compress: Scaffolding for gzip implementation

* Compress: Handle errors from allocation

* Compress: Gzip support implementation

* Tar/Compress: Don't rewind if already at stream cursor

* Update changelog
This commit is contained in:
WillyJL
2024-07-03 02:26:59 +02:00
committed by GitHub
parent 1cd18f61a2
commit b18ac01485
14 changed files with 282 additions and 74 deletions

View File

@@ -15,6 +15,7 @@ from flipper.assets.coprobin import CoproBinary, get_stack_type
from flipper.assets.heatshrink_stream import HeatshrinkDataStreamHeader
from flipper.assets.obdata import ObReferenceValues, OptionBytesData
from flipper.assets.tarball import compress_tree_tarball, tar_sanitizer_filter
from flipper.assets import tarball
from flipper.utils.fff import FlipperFormatFile
from slideshow import Main as SlideshowMain
@@ -23,9 +24,8 @@ class Main(App):
UPDATE_MANIFEST_VERSION = 2
UPDATE_MANIFEST_NAME = "update.fuf"
# No compression, plain tar
RESOURCE_TAR_MODE = "w:"
RESOURCE_FILE_NAME = "resources.ths" # .Tar.HeatShrink
RESOURCE_FILE_NAME = "resources" + tarball.TAR_GZIP_EXTENSION
RESOURCE_ENTRY_NAME_MAX_LENGTH = 100
WHITELISTED_STACK_TYPES = set(