-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Use libarchive for all decompression (except brotli) #3333
Conversation
Exciting change. How are you building and testing zstd? I presume this will come with some release-common.nix and configure.ac changes. |
|
Yes, while testing zstd it seems to fallback and then not find the command line binary (I specifically uninstalled it to check this). |
@yorickvP what's missing here? |
Talking to @yorickvP this needs brolti fallback to the old behavior since there's no magic byte header. |
4d01af9
to
c527f7a
Compare
c527f7a
to
8a0c00b
Compare
Okay, this code now passes all tests. |
Once serokell#4 is merged, this PR will have tests and can be reviewed. |
@edolstra I'd really like this merged, could you review this PR? |
add tests for zstd compression
Thanks, merged! |
Wohooo 🥳 |
I'm looking at my PR for adding compression level option-- which is mentioned as possibly on the TODO, thank you -- and was wondering if you happen to have looked into that at all? I've yet to read through these changes or look into how libarchive works yet so not sure if there were issues there or just wasn't a priority / mess plumbing things or whatever :). Thanks regardless, have a good one! |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
Libarchive, introduced in an earlier PR, can be used for arbitrary compression and decompression, as well as tar files. This handles support for (de)compression with gzip, bzip2, lzip, xz, lzma, zstd or compress. The main new feature here is zstd support.
The thing conspicuously missing here is brotli. This is because brotli does not have a magic header, so it cannot be automatically detected. We will still have to work around this, all other tests pass.
Fixes #2255.
Todo
cc:
@tomberek @puckipedia