bazelbuild / bazelbuild/rules_pkg

Support zstd as first-class compression scheme

Open
#481 5 comments 6 reactions 0 assignees View on GitHub
feature-request p4
Dominant language
Starlark
Stars
253
Forks
221
Avg merge
10h 33m
Merged PRs (30d)
1

Description

https://github.com/facebook/zstd/ is another compression format with highly tunable compression format that highly desirable performance characteristics. It would be nice if it were supported locally without having to specify an external compressor, when we are able to easily do so.

Notes that come to mind:

- zstd in python3 requires external library bindings
- On top of that zstd in zip files is not immediately supported without [changes to the standard library](https://pypi.org/project/zipfile-zstd/)
- `pkg_tar` (and thus `pkg_deb`) can rely on an external compressor
- `pkg_rpm` can compress with zstd by passing `binary_payload_compression = "w$LEVEL.zstdio`, where `$LEVEL` is a numeric compression level. This requires `zstd` support in the local `rpmbuild` binary.
- `pkg_deb` is kinda up in the air: the Debian package format does not appear to support `zstd` yet, but apparently ubuntu is already using it. See also https://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-21.10-Zstd-Debs, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892664.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.