New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
flatpak-build-bundle: Add --oci-layer-compress=zlib #5540
base: main
Are you sure you want to change the base?
Conversation
Add an option to build OCI bundles with zstd compressed layers. gzip is kept as the default for maximum compatibility: Ecosystem support: distribution/distribution: no explicit support, but works quay.io: sinc 2021 Amazon ECR: supported pulp_container: since 2022 flatpak: since first-OCI supporting version tardiff: since first version
e83eff6
to
4144048
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add --oci-layer-compress=zlib
I think you mean zstd
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a full review, I'd prefer someone who is more involved in the package-manager/OCI side of Flatpak to review this properly.
|
||
<listitem><para> | ||
Choose how to compress the layers in OCI images. gzip (the default) | ||
has is universally supported, but zstd compresses faster and results in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
has is universally supported, but zstd compresses faster and results in | |
is universally supported, but zstd compresses faster and results in |
This PR adds an option to build OCI bundles with zstd compressed layers, speeding up compression by several times, and resulting in about a 20% smaller result (timings are in a comment in the patch).
gzip is kept as the default for maximum compatibility:
Notes
ZSTD_CStream
data type I'm using is somewhat obsolescent, though not deprecated - according to the docs,ZSTD_CStream
was unified withZSTD_CCtx
in 1.3.0, released in 2017. Might make sense to upgrade the Flatpak min zstd version from the current 0.8.1 - hard to say whether this would actually work with 0.8.1.Ecosystem support
distribution/distribution: no explicit support, but works
quay.io: sinc 2021
Amazon ECR: supported
pulp_container: since 2022
flatpak: since first-OCI supporting version
tardiff: since first version