conda-pack icon indicating copy to clipboard operation
conda-pack copied to clipboard

Add support for alternative compressors for mksquashfs

Open dmargala opened this issue 11 months ago • 0 comments

Checklist

  • [X] I added a descriptive title
  • [X] I searched open requests and couldn't find a duplicate

What is the idea?

Add a conda-pack cli option to specify a compressor for mksquashfs or have conda-pack automatically select a compressor that is supported by the mksquashfs in the user's environment.

Why is this needed?

Currently, conda-pack does not allow the user to select an arbitrary compressor for mksquashfs. It looks like there is a heuristic that uses the --compress-level cli option to select a compressor but the only compressors it can choose from are zstd or xz. The mksquashfs in my environment does not support either of those, it looks like my mksquashfs only supports gzip and lz4. Adding support for alternative compressors would allow users with mksquashfs that do not support zstd or xz to use compression when packing environments to squashfs.

What should happen?

From a user perspective, I would like to see a conda-pack cli option to specify a compressor or have conda-pack automatically select a compressor that is supported by the mksquashfs in my environment if possible.

Additional Context

It looks like there are conda-pack squashfs compression performance tests documented in #176 and there has been discussion about which compressors to support in #177. I appreciate the log message solution arrived at there, it helped me figure out where to look next. However, the suggestion to use xz instead of zstd is not always viable.

dmargala avatar Jul 13 '23 18:07 dmargala