Closed ArielRosenfeld closed 1 year ago
To be honest, I'm a bit reluctant to release it in the current state. Yes, the 7z code path should be pretty much stable in its current form, but I haven't tested that yet.
Testing in this case means:
There are also some minor issues with the 7z code path which should not affect end users but are a little ugly from a developers point of view. Unarr tries to always provide the choice between an internal implementation of a decompression algorithm or, if available, a system library provided version. However, as the 7z decompression is directly taken from the lzma sdk, it is currently hardcoded to use internal/embedded versions of the lzma algorithms, which leads to two versions (xz/libzma and lzma sdk) of the same algorithms being in use in the same library. I could probably solve this issue by using shim headers, but it's easy to do more harm than good this way, so this needs proper testing too.
As you can see, there's still some more work to do before this is really release ready. Still, perfect is the enemy of good, so if 7z support is really needed that badly, I'm open to run some tests and do a release.
making a release, even one marked as beta, will make people test it in the wild as packagers will have an official release to target which makes reporting bugs and passing them upstream easier
but its its not ready yet it can wait
you can also look at the libarchive implementation which covers both xz and 7z which might help
Yes, I am aware of libarchive and other 7z implementations. They're not really a help in this case though as unarr's 7z implementation is based on the lzma sdk and theirs isn't. They will be very helpful for rewriting 7z support to get rid of the lzma sdk limitations, but for now I'm aiming for lower hanging fruits.
7z support is still optional, so some 'uglyness' is probably acceptable even if I don't like it. I'll try to run some tests in the next few days and if nothing bad shows up I'll release a beta.
Is there an update on this?
Yes, I just released a beta packaged with the newest lzma sdk and some other fixes/improvements.
please release a new version with the new 7zip support so distributions can pick it up as they don't like packaging from git snapshots unless they have to