๐๏ธ An Arduino library to unpack/uncompress tar, gz, and tar.gz files on ESP32 and ESP8266
OTHER License
Bot releases are visible (Hide)
bool GzUnpacker::gzStreamExpander( Stream* sourceStream, fs::FS destFS, const char* destFile );
Full Changelog: https://github.com/tobozo/ESP32-targz/compare/v1.2.2...v1.2.3
Published by tobozo 9 months ago
Published by tobozo about 1 year ago
Bugfix for pointer returned from a mismatched allocation function
Published by tobozo over 1 year ago
Full Changelog: https://github.com/tobozo/ESP32-targz/compare/v1.1.7...v1.1.9
Published by tobozo almost 2 years ago
Published by tobozo almost 2 years ago
Published by tobozo almost 3 years ago
Added tarStreamExpander upon @mc-hamster's suggestion, see #52
Published by tobozo almost 3 years ago
Fixes:
./
as the root path failed to expand when the output folder was not the root foldersetGzProgressCallback
was ignored when using streamsImprovements:
tarGzStreamExpander
accepts an extra argument with stream size, the value can be either picked from Content-Length
HTTP response header, or from file.size()
when the stream source is the filesystem.Published by tobozo about 3 years ago
This release fixes a bug: if there was an empty file inside .tar
archive and tar health checks were enabled, unpacking would stop and return error -34
without finishing the archive.
Thanks to @JamPaul97 for reporting this (see #48).
Published by tobozo about 3 years ago
fs::File->name()
has a new behaviour since 2.x.xPublished by tobozo over 3 years ago
Published by tobozo over 3 years ago
This is a fix release (see #33) addressing an issue where a tar file containing a file with extended attributes would fail to unpack and ignore subsequent files.
Thank you @frankcohen for finding that out!
Published by tobozo over 3 years ago
This is a maintenance release, mostly adressing error handling with uzlib and network streams.
Published by tobozo over 3 years ago
Added tarGzStreamUpdater( Stream* stream )
support for ESP32 only, the API is also exposed for ESP8266 but untested as it makes no sense to use externally what's already provided internally by the sdk core.
tarGzStreamUpdater()
will find and extract binaries from a .tar.gz
archive to OTA and/or SPIFFS/LITTLEFS partitions using the UpdateClass from the ESP32 Arduino core.
The .tar.gz
file should contain at least one of the binaries for the compiled application and/or the spiffs/littlefs partition.
.tar.gz
ino.bin
spiffs.bin
or mklittlefs.bin
Published by tobozo over 3 years ago
This release mostly contains fixes and memory improvements for ESP8266.
All examples have been merged into one single sketch for simplicity and integrity.
Published by tobozo almost 4 years ago
Published by tobozo almost 4 years ago
gzStreamUpdater
for ESP32 platform, see Update_from_gz_stream from the examples folder gzStreamUpdater( stream, streamsize );
Published by tobozo almost 4 years ago
New decompression modes:
It is no longer required to use an intermediate file with tarGzExpander.
// this will use an intermediate file (defaulting to /tmp/tmp.tar)
tarGzExpander(tarGzFS, "/blah.tat.gz", tarGzFS, "/tmp" );
// this will use an intermediate file too
tarGzExpander(tarGzFS, "/blah.tat.gz", tarGzFS, "/tmp", "/tmp/my_temporary_file.tar" );
// this will do a direct gz->tar->filesystem expanding, using no intermediate file
tarGzExpander(tarGzFS, fileJustBigEnoughForSPIFFS, tarGzFS, "/tmp", nullptr );
Published by tobozo almost 4 years ago
New features in this release: