π Minizip Renaming
π Summary
Renaming the "minizip" package to "minizip-ng" and renaming the "minizip-compat" zlib subpackage to "minizip" to align with the upstream naming.
π Owner
- Name: Lukas Javorsky
- Email: ljavorsk@redhat.com
π Current status
- Targeted release: Fedora Linux 38
- Last updated: 2022-07-29
- FESCo issue: <will be assigned by the Wrangler>
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
π Detailed Description
Upstream has changed the naming of the "minizip" package to "minizip-ng" and we should follow their naming so there is no confusion about which package is the right one. Upstream has also requested to rename the "minizip-compat" zlib subpackage to "minizip" which is the right naming for the package.
The "minizip" and "minizip-compat" provides different shared libraries which prevent us from conflicting sonames.
The plan behind this change can be put into x steps which will be completed separately and in the given order:
NOTE: All of the Provides and Obsoletes will be added to the *-devel subpackages as well.
1) Create a new package "minizip-ng" which will Provides: minizip = %{sameevr}
and Obsoletes: (minizip < 3.0.2-7 and minizip > 3.0.0-1)
NOTE: The versions I choose here are the safe versions that create a space for possible "minizip-compat" rebases
2) Rebuild all of the packages that BuildRequire/Require "minizip" package to BuildRequire/Require new "minizip-ng" package
3) Retire the "minizip" package following the Package Retirement Process
4) Wait for the Fedora 40 when it's ensured that every user has updated to the Fedora 38. Remove the Provides
and Obsoletes
from the "minizip-ng" package
5) Rename the "minizip-compat" to the "minizip" package and add Provides: minizip-compat = %{sameevr}
and Obsoletes: minizip-compat < 1.2.12
π Feedback
Early feedback from the community is possite, the feedback is located in this Email thread
π Benefit to Fedora
Fedora should always respect upstream package naming, so the users are not confused about which package are they installing. This naming change will align the naming with the upstream.
π Scope
- Proposal owners: New package "minizip-ng" will be created, and several changes in "minizip-compat" package which are described in the Detailed Description.
- Other developers: Change the names of their BuildRequires/Requires accordingly.
- Release engineering: No action required
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with Objectives: Should align
π Upgrade/compatibility impact
When following the plan in Detailed Description there will be no need for manual action. Everything will be handled by the automated dnf upgrade.
π How To Test
π User Experience
π Dependencies
List of the packages from Fedora 37
π minizip
repoquery --whatrequires "*libminizip.so.3*" | pkgname | uniq
R-libSBML
collada-dom
dolphin-emu
dolphin-emu-tool
java-libsbml
keepassxc
libnuml
librasterlite2
libsbml
libspatialite
libxlsxwriter
minizip-devel
perl-LibSBML
python3-libsbml
ruby-SBML
sigil
vxl
xiphos
zfstream
π minizip-compat
repoquery --whatrequires "*libminizip.so.1*" | pkgname | uniq
chromedriver
chromium
chromium-headless
domoticz
hashcat
libdigidocpp
minizip-compat-devel
springlobby
π Contingency Plan
- Contingency mechanism: Remove the builds created and revert shipped changes. Done by any Fedora packager (preferred by the one who knows about this change)
- Contingency deadline: Beta freeze
- Blocks release? No
NOTE: If we don't finish this change to the deadline, it is possible to just complete this change with the next release.
π Documentation
Upstream issue Bugzilla tracker