Giter VIP home page Giter VIP logo

Comments (6)

selmf avatar selmf commented on June 12, 2024

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:

  • making sure it builds correctly on all supported platforms (Linux, OS X, Windows)
  • do some basic fuzzing for all archive formats possibly affected by the changes introduced

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.

from unarr.

ArielRosenfeld avatar ArielRosenfeld commented on June 12, 2024

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

from unarr.

selmf avatar selmf commented on June 12, 2024

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.

from unarr.

alastortenebris avatar alastortenebris commented on June 12, 2024

Is there an update on this?

from unarr.

selmf avatar selmf commented on June 12, 2024

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

from unarr.

selmf avatar selmf commented on June 12, 2024

Fixed in ca745b7

from unarr.

Related Issues (16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.