Open Neustradamus opened 5 years ago
@pierres, @foutrelis: It is possible to add minizip-ng and zlib-ng in Arch?
Is it possible to replace zlib and minizip with zlib-ng and minizip-ng? Means: are they at least compatible on an API level? If not I'd say the library would be added once a package would need it. Providing a library on its own does not sound that beneficial.
@pierres: Thanks for your reply!
Not a replace but an adding to have:
The goal is to have a full comptability with all and without breaks.
OpenMandriva 4.3 has been released -- meaning now zlib-ng and minizip-ng replace their non-ng counterparts even in the stable release.
@berolinux: Thanks! :) There are minizip and zlib for compatibility?
@hhorak: Have you progressed for RedHat/Fedora?
@hhorak: Have you progressed for RedHat/Fedora?
Not much yet, but @ljavorsk starts to look a this these days.
Hi, I've decided to look at this issue in Fedora.
Several questions before (pardon me if they sound stupid, I just need to be sure): 1) Are the old minizip and new minizip-ng API/ABI compatible? 2) Can minizip-ng require the zlib or it has to require zlib-ng? The reason for this question is that we don't have zlib-ng in Fedora, which may be the future plan but I want to resolve this minizip-ng issue first.
Thank you for answering the questions.
Are the old minizip and new minizip-ng API/ABI compatible?
Yes it should be if using the MZ_COMPAT option which enables compatibility layer. If there is an compatiblity with minizip from zlib then it is likely a bug.
Can minizip-ng require the zlib or it has to require zlib-ng?
minizip-ng can use zlib or zlib-ng. You should be able to control it via some of the CMake options, and if there is something missing in the way of configurablity it is possible for a PR.
Thank you for the replies.
I've created a Fedora change for this process because it will require multiple changes across the packages.
This change will take quite a long time due to the plan (mentioned in the Fedora change) that has to be followed.
Fedora minizip change: https://fedoraproject.org/wiki/Changes/MinizipRenaming
Yes @Neustradamus, I've successfully managed to finish the renaming change.
However, due to community concerns about compatibility, I had to trim the "minizip-compat to minizip" renaming.
Either way, in Fedora Rawhide there are only 'minizip-ng' and 'minizip-compat' packages.
@ljavorsk: Nice but impossible to have the original minizip too?
fwiw I'm not really able to move forward with minizip-ng right now: https://github.com/zlib-ng/minizip-ng/issues/654.
@Neustradamus not possible until we fully move on from the current minizip (after Fedora 42). We can try to create another change for the renaming after that.
fwiw I'm not really able to move forward with minizip-ng right now: #654.
Sorted with https://github.com/zlib-ng/minizip-ng/pull/657. The next thing is figuring out what packages like Dolphin want (https://bugs.gentoo.org/873952) where it seems like we need to install in compatibility mode but with a suffix (e.g. -ng), which seems confusing. I'd have thought anything happy with minizip-ng wouldn't then want compatibility mode.
Are the old minizip and new minizip-ng API/ABI compatible?
Yes it should be if using the MZ_COMPAT option which enables compatibility layer. If there is an compatiblity with minizip from zlib then it is likely a bug.
I took a look at this and I don't see how this is the case right now - even if the interfaces are the same (not compared them), the SONAME is different. zlib's minizip is 1 and minizip-ng's (even with MZ_COMPAT) is 4?
Feel free to submit any PRs.
I'm happy to, but I need to understand what the intention is first and if it's changed since that comment. There's nothing about ABI in README, so I don't know.
I'm guessing it hasn't (so this sounds like a bug) based on your reply?
Correct. The goal is still to provide compatibility.
- Homebrew: zlib-ng 2.1.3: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/zlib-ng.rb ... @MikeMcQuaid ...
👋🏻 what's the request/ask here?
@MikeMcQuaid: I have updated the description, it is okay for Homebrew ^^
@Neustradamus try using these two for package manager distribution refs (good visualization):
@Neustradamus re-read it, sorry, still not sure what you're asking for?
I switched the OpenBSD port / package to 4.x 6 months ago.
https://github.com/openbsd/ports/commit/739d84f9137db3ab58d77155da6854b0a68667b6
@brad0: Why have you not seen to have "minizip" and added "minizip-ng"? It will be nice to have "zlib" and "zlib-ng" too.
I almost forgot about this issue...
Status update from Red Hat (Fedora): Minizip-ng transition: https://fedoraproject.org/wiki/Changes/MinizipNGTransition (already implemented) Zlib-ng transition: https://fedoraproject.org/wiki/Changes/ZlibNGTransition (in progress)
@brad0: Why have you not seen to have "minizip" and added "minizip-ng"?
No point having both.
It will be nice to have "zlib" and "zlib-ng" too.
zlib is in base. No point.
Zlib-ng has now fully replaced madler/zlib in Fedora Rawhide. Feel free to test it and provide us with feedback.
@ljavorsk: Good job!
Just to make it clear, it wasn't just my good job but other engineers as well (e.g. @tuliom with his huge amount of work and help in zlib-ng)
All of them are listed in the Fedora Change mentioned in https://github.com/zlib-ng/minizip-ng/issues/358#issuecomment-1859950461
FreeBSD: minizip-ng 3.0.8: https://www.freshports.org/archivers/minizip-ng/ @lbartoletti
archivers/minizip-ng: update to 4.0.5: https://cgit.freebsd.org/ports/commit/?id=56526524998089f9fe43d8dbb63140cc16db20ca
archivers/minizip-ng: update to 4.0.6: https://cgit.freebsd.org/ports/commit/?id=7473cd3f759b96609a8448ef1969296bad5f467b
archivers/minizip-ng: update to 4.0.7: https://cgit.freebsd.org/ports/commit/?id=6d7526f79938d7ae8b078f5d2978fb59dd34070e
Need an adding:
Others?
minizip-ng (2023-07-28):
Others?
zlib-ng (2023-07-28):
Others?