selmf / unarr

A decompression library for rar, tar, zip and 7z archives
GNU Lesser General Public License v3.0
73 stars 13 forks source link

Please release a new version so a version with 7zip support can get packaged #2

Closed ArielRosenfeld closed 1 year ago

ArielRosenfeld commented 6 years ago

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

selmf commented 6 years 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.

ArielRosenfeld commented 6 years ago

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

selmf commented 6 years ago

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.

alastortenebris commented 2 years ago

Is there an update on this?

selmf commented 2 years ago

Yes, I just released a beta packaged with the newest lzma sdk and some other fixes/improvements.

selmf commented 1 year ago

Fixed in https://github.com/selmf/unarr/commit/ca745b72684e156c1e1b0445f36675527264746e