From Fedora Project Wiki

< Changes

Revision as of 10:41, 29 July 2022 by Ljavorsk (talk | contribs)

Minizip Renaming

Important.png
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Summary

Renaming the "minizip" package to "minizip-ng" and renaming the "minizip-compat" zlib subpackage to "minizip" to align with the upstream naming.

Owner


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 at least 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

Release Notes