From f033f1c17d843c86944095e4422096c6d2fc56b9 Mon Sep 17 00:00:00 2001 From: "Rick Farina (Zero_Chaos)" Date: Mon, 19 Oct 2020 15:27:44 -0400 Subject: [PATCH] squashfs_zstd support additionally, fixup squashfs compression and decompression --- DeComp/compress.py | 7 ++++--- DeComp/definitions.py | 12 ++++++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/DeComp/compress.py b/DeComp/compress.py index 6a8a3ef..734dbb8 100644 --- a/DeComp/compress.py +++ b/DeComp/compress.py @@ -417,9 +417,10 @@ def _sqfs(self, infodict): self.extension(cmdinfo["mode"]) sqfs_opts = self._sub_other_options(cmdlist.args, cmdinfo) - if not infodict['arch']: - sqfs_opts.remove("-Xbcj") - sqfs_opts.remove("%(arch)s") + if infodict['mode'] == "squashfs_xz": + if not infodict['arch']: + sqfs_opts.remove("-Xbcj") + sqfs_opts.remove("%(arch)s") opts = ' '.join(sqfs_opts) % (cmdinfo) args = ' '.join([cmdlist.cmd, opts]) diff --git a/DeComp/definitions.py b/DeComp/definitions.py index 16114b2..f3ab92f 100644 --- a/DeComp/definitions.py +++ b/DeComp/definitions.py @@ -226,6 +226,14 @@ class functions do. ], "GZIP", ["tar.gz"], {"tar"}, ], + "squashfs_zstd": [ + "_sqfs", "mksquashfs", + [ + "%(basedir)s/%(source)s", "%(filename)s", "-comp", "zstd", + "-Xcompression-level", "19", "-b", "1M", "-no-recovery", "-noappend", "other_options" + ], + "SQUASHFS", ["squashfs", "sfs"], {"mksquashfs"}, + ], "squashfs_xz": [ "_sqfs", "mksquashfs", [ @@ -376,8 +384,8 @@ class functions do. "squashfs": [ "_common", "unsquashfs", [ - "other_options", "-d", "%(destination)s", - "%(basedir)s/%(source)s" + "other_options", "-f", "-d", "%(destination)s", + "%(source)s" ], "SQUASHFS", ["squashfs", "sfs"], {"unsquashfs"}, ],