Skip to content
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

Status of integration in distributions #358

Open
Neustradamus opened this issue Jan 16, 2019 · 83 comments
Open

Status of integration in distributions #358

Neustradamus opened this issue Jan 16, 2019 · 83 comments
Labels
distribution Release distribution

Comments

@Neustradamus
Copy link

Neustradamus commented Jan 16, 2019

Need an adding:

Others?

minizip-ng (2023-07-28):

Others?


zlib-ng (2023-07-28):

Others?

@tehnick
Copy link

tehnick commented Jan 16, 2019

@Neustradamus
Copy link
Author

@tehnick: Thanks for your links

@nmoinvaz
Copy link
Member

The library should probably be added as minizip2, also see #333.

@praiskup
Copy link

Can you elaborate what do you mean by that? Is this project being renamed to minizip2?

@nmoinvaz
Copy link
Member

nmoinvaz commented Jan 18, 2019

It is not being renamed. Just like other libraries, that have multiple versions, this one does too. (See #333 (comment)). Distributions should increment the version number when integrating - maybe something like libminizip28.a.

@praiskup
Copy link

Ok, then in Fedora is probably better option to go with the latest supported version in minizip package, and add *-compat package with the old unsupported version (rather than minizip{,2}) - it is more common practice.

The only issue is that the new version is not compatible with previous one; among Fedora packages only qmc2 seems to be linked against new minizip - the rest is compiled against minizip-compat (8 packages) or bundles the old minizip (7 packages).

@tehnick
Copy link

tehnick commented Jan 21, 2019

@praiskup

add *-compat package with the old unsupported version (rather than minizip{,2}) - it is more common practice.

Hmm, how about sdl and sdl2, libidn and libidn2, pcre and pcre2, tinyxml and tinyxml2, etc.?

bundles the old minizip (7 packages)

It is interesting. I thought that in Fedora the usage of embedded copy of such common libraries is not allowed like in Debian.

@praiskup
Copy link

praiskup commented Jan 21, 2019

@tehnick it's not impossible to add minizip2 in Fedora, it's just more common to go with compat for limited period of time (but I have no evidence/statistics for that off hand). We would decide the naming differently be if we planned to support two minizip implementations concurrently, but in this case minizip-compat should go away (at least we hoped it could happen rather soon - which turns out not to be that trivial...).

I thought that in Fedora the usage of embedded copy of such common libraries is not allowed like in Debian.

Bundling is discouraged practice nowadays in Fedora (not entirely banned), but yes - minizip shouldn't be bundled. It is sort of misunderstanding/bug which will be fixed I believe. Despite the fact that minizip is not really "common library" -- original upstream abandoned it, new upstream is painfully incompatible, and people are used to bundle the old version with various different patches if anything.

@tehnick
Copy link

tehnick commented Jan 21, 2019

minizip shouldn't be bundled

Do you mean exactly including copy of library in program sources? Because problem is not in bundling of library into sources but in using of this embedded copy instead of system library. And this is a different case...

@praiskup
Copy link

I didn't have to think about "bundling" word definition till now :-), but I can confirm you understand the "problem of bundling" the same way as I do; for "how Fedora understands bundling" see https://fedoraproject.org/wiki/Bundled_Libraries?rd=Packaging:Bundled_Libraries#Requirement_if_you_bundle

@stachenov
Copy link

Why am I mentioned for Mageia when I don't even know what it is?

@Neustradamus
Copy link
Author

Linked to https://github.com/stachenov/quazip (look the link)

@nmoinvaz nmoinvaz added 2.0 distribution Release distribution labels Apr 19, 2019
@ryandesign
Copy link

Hi, I wanted to let you know that I added minizip2 to MacPorts: https://www.macports.org/ports.php?by=name&substr=minizip&

@vszakats
Copy link
Contributor

vszakats commented Sep 14, 2019

Added to Homebrew: Homebrew/homebrew-core@dd07f5a

$ brew install minizip2

@Neustradamus
Copy link
Author

Any news 1 year and 9 months after my ticket?

@nmoinvaz
Copy link
Member

I am not actively keeping up with the latest news or push for inclusion/updates in any distributions.

@Neustradamus
Copy link
Author

Neustradamus commented Jan 5, 2021

One guy can see for Debian 11, the freeze is 2021-01-12?

No reply from Michael Gilbert since my first request.

Next Debian will be here in 2023.

Note: There is 2.10.6 now:

@Neustradamus
Copy link
Author

minizip has been removed here, please look history:

But you can see others:

@Neustradamus
Copy link
Author

@nmoinvaz: Maybe time to rename this repo, minizip2 no?

@nmoinvaz
Copy link
Member

nmoinvaz commented Jan 8, 2021

There have been requests in the past to do that #333, but the name of the repository is arbitrary in my opinion. When minizip goes to version 3 should I then rename the repository to minizip3?

It is up to package maintainers to determine how they want to incorporate it into a particular package management system. I have already written the source code and provided build system and continuous integration with my own time. I have no interest in really maintaining packages in the various package management systems. I am fine with it being submitted to any package management system so long as it doesn't require changes to the repository. I have even provided a -DMZ_PROJECT_SUFFIX option for package maintainers who want to have it named minizip2 or minizip3.

@Neustradamus
Copy link
Author

@nmoinvaz: Or minizip-ng :)

@nmoinvaz
Copy link
Member

nmoinvaz commented Jan 8, 2021

We are thinking alike, I have sent @Dead2 an e-mail asking him about it.

@Neustradamus
Copy link
Author

Have you tried to contact Michael Gilbert?
I have never received a reply since 2 years.

Have you tried to publish directly on Debian?

@tehnick can help, I think.

If not, who can help?
I have not a listing to all Debian guys...

What is the solution?

We will be blocked 2 years again?
Next Debian "12" will be in 2023.

PS: You can publish too zlib-ng at the same time.

@nmoinvaz
Copy link
Member

nmoinvaz commented Jan 8, 2021

I don't think I have had contact with any of the package maintainers. I could be wrong. If you would like to maintain the package on Debian and need something from me to enable you to do it, let me know. I don't want to maintain the packages myself.

@tehnick
Copy link

tehnick commented Jan 10, 2021

@Neustradamus I do not have time for one more Debian package. Especially for such low-level library which is widely used by different software. (It requires more time for proper maintaining.)

@nmoinvaz
Copy link
Member

nmoinvaz commented Jan 15, 2021

The repository has now been renamed to zlib-ng/minizip-ng. A future release will have the name changes in the README and source code files.

@nmoinvaz nmoinvaz removed the 2.0 label Apr 27, 2022
@hhorak
Copy link

hhorak commented Jul 26, 2022

@hhorak: Have you progressed for RedHat/Fedora?

Not much yet, but @ljavorsk starts to look a this these days.

@ljavorsk
Copy link

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.

@nmoinvaz
Copy link
Member

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.

@nmoinvaz
Copy link
Member

nmoinvaz commented Jul 30, 2022

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.

@ljavorsk
Copy link

ljavorsk commented Aug 9, 2022

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

@ljavorsk
Copy link

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.

@Neustradamus
Copy link
Author

@ljavorsk: Nice but impossible to have the original minizip too?

@thesamesam
Copy link
Contributor

fwiw I'm not really able to move forward with minizip-ng right now: #654.

@ljavorsk
Copy link

@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.

@thesamesam
Copy link
Contributor

fwiw I'm not really able to move forward with minizip-ng right now: #654.

Sorted with #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.

@thesamesam
Copy link
Contributor

thesamesam commented Jun 16, 2023

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?

@nmoinvaz
Copy link
Member

Feel free to submit any PRs.

@thesamesam
Copy link
Contributor

thesamesam commented Jun 16, 2023

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?

@nmoinvaz
Copy link
Member

Correct. The goal is still to provide compatibility.

@MikeMcQuaid
Copy link

👋🏻 what's the request/ask here?

@Neustradamus
Copy link
Author

@MikeMcQuaid: I have updated the description, it is okay for Homebrew ^^

@chenrui333
Copy link

chenrui333 commented Jul 28, 2023

@Neustradamus try using these two for package manager distribution refs (good visualization):

@MikeMcQuaid
Copy link

@Neustradamus re-read it, sorry, still not sure what you're asking for?

@brad0
Copy link
Contributor

brad0 commented Dec 18, 2023

I switched the OpenBSD port / package to 4.x 6 months ago.

openbsd/ports@739d84f

@Neustradamus
Copy link
Author

@brad0: Why have you not seen to have "minizip" and added "minizip-ng"?
It will be nice to have "zlib" and "zlib-ng" too.

@ljavorsk
Copy link

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
Copy link
Contributor

brad0 commented Dec 18, 2023

@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.

@ljavorsk
Copy link

ljavorsk commented Jan 11, 2024

Zlib-ng has now fully replaced madler/zlib in Fedora Rawhide. Feel free to test it and provide us with feedback.

@Neustradamus
Copy link
Author

@ljavorsk: Good job!

@ljavorsk
Copy link

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 #358 (comment)

@VVD
Copy link

VVD commented May 29, 2024

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

@VVD
Copy link

VVD commented Jun 14, 2024

archivers/minizip-ng: update to 4.0.6:
https://cgit.freebsd.org/ports/commit/?id=7473cd3f759b96609a8448ef1969296bad5f467b

@VVD
Copy link

VVD commented Jun 17, 2024

archivers/minizip-ng: update to 4.0.7:
https://cgit.freebsd.org/ports/commit/?id=6d7526f79938d7ae8b078f5d2978fb59dd34070e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
distribution Release distribution
Projects
None yet
Development

No branches or pull requests