Skip to content

Commit 59f0d2b

Browse files
committed
squashfs_zstd support
additionally, fixup all squashfs compression and decompression
1 parent ae26248 commit 59f0d2b

2 files changed

Lines changed: 16 additions & 7 deletions

File tree

DeComp/compress.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -417,9 +417,10 @@ def _sqfs(self, infodict):
417417
self.extension(cmdinfo["mode"])
418418

419419
sqfs_opts = self._sub_other_options(cmdlist.args, cmdinfo)
420-
if not infodict['arch']:
421-
sqfs_opts.remove("-Xbcj")
422-
sqfs_opts.remove("%(arch)s")
420+
if infodict['mode'] == "squashfs_xz":
421+
if not infodict['arch']:
422+
sqfs_opts.remove("-Xbcj")
423+
sqfs_opts.remove("%(arch)s")
423424
opts = ' '.join(sqfs_opts) % (cmdinfo)
424425
args = ' '.join([cmdlist.cmd, opts])
425426

DeComp/definitions.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -226,19 +226,27 @@ class functions do.
226226
],
227227
"GZIP", ["tar.gz"], {"tar"},
228228
],
229+
"squashfs_zstd": [
230+
"_sqfs", "mksquashfs",
231+
[
232+
"%(basedir)s/%(source)s", "%(filename)s", "-comp", "zstd",
233+
"-Xcompression-level", "19", "-b", "1M", "-no-recovery", "-noappend"
234+
],
235+
"SQUASHFS", ["squashfs", "sfs"], {"mksquashfs"},
236+
],
229237
"squashfs_xz": [
230238
"_sqfs", "mksquashfs",
231239
[
232240
"%(basedir)s/%(source)s", "%(filename)s", "-comp", "xz",
233-
"-Xbcj", "%(arch)s", "-b", "1M", "other_options"
241+
"-Xbcj", "%(arch)s", "-b", "1M"
234242
],
235243
"SQUASHFS", ["squashfs", "sfs"], {"mksquashfs"},
236244
],
237245
"squashfs_gzip": [
238246
"_sqfs", "mksquashfs",
239247
[
240248
"%(basedir)s/%(source)s", "%(filename)s", "-comp", "gzip",
241-
"-b", "1M", "other_options"
249+
"-b", "1M"
242250
],
243251
"SQUASHFS", ["squashfs", "sfs"], {"mksquashfs"},
244252
],
@@ -376,8 +384,8 @@ class functions do.
376384
"squashfs": [
377385
"_common", "unsquashfs",
378386
[
379-
"other_options", "-d", "%(destination)s",
380-
"%(basedir)s/%(source)s"
387+
"-f", "-d", "%(destination)s",
388+
"%(source)s"
381389
],
382390
"SQUASHFS", ["squashfs", "sfs"], {"unsquashfs"},
383391
],

0 commit comments

Comments
 (0)