From Fedora Project Wiki
No edit summary
(Change approved by FESCo)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Minizip Renaming <!-- The name of your change proposal --> =
= Minizip Renaming <!-- The name of your change proposal --> =
{{Change_Proposal_Banner}}


== Summary ==
== Summary ==
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->
Renaming the "minizip" package to "minizip-ng" and renaming the "minizip-compat" zlib subpackage to "minizip" to align with the upstream naming.
Renaming the "minizip" package to "minizip-ng" to align with the upstream naming.


== Owner ==
== Owner ==
Line 21: Line 19:


== Current status ==
== Current status ==
[[Category:ChangeAnnounced]]
[[Category:ChangeAcceptedF37]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
Line 40: Line 38:
-->
-->
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/DVHNQU2DCXY2JJQLH4TNJU7AXQPTP3VP/ devel thread]
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/DVHNQU2DCXY2JJQLH4TNJU7AXQPTP3VP/ devel thread]
* FESCo issue: <will be assigned by the Wrangler>
* FESCo issue: [https://pagure.io/fesco/issue/2857 #2857]
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2129079 #2129079]
* Release notes tracker: <will be assigned by the Wrangler>
* Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/880 #880]


== Detailed Description ==
== 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.
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.  


The "minizip" and "minizip-compat" provides different shared libraries which prevent us from conflicting sonames.
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:
The plan behind this change can be put into 4 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.''
''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)`
1) Create a new package "minizip-ng" which will `Provides: minizip = %{sameevr}` and `Obsoletes: minizip < 3.0.3 `
 
''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
2) Rebuild all of the packages that BuildRequire/Require "minizip" package to BuildRequire/Require new "minizip-ng" package
Line 61: Line 57:
3) Retire the "minizip" package following the [https://docs.fedoraproject.org/en-US/package-maintainers/Package_Retirement_Process/ Package Retirement Process]
3) Retire the "minizip" package following the [https://docs.fedoraproject.org/en-US/package-maintainers/Package_Retirement_Process/ 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
4) Wait for the Fedora 42 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 ==
== Feedback ==
Early feedback from the community is possitive, the feedback is located in this  [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/I5WYNPVD3ZOKO3X76LQ5SIRUUXDFUF2Y/ Email thread]
Early feedback from the community is positive, the feedback is located in this  [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/I5WYNPVD3ZOKO3X76LQ5SIRUUXDFUF2Y/ Email thread]


== Benefit to Fedora ==
== Benefit to Fedora ==
Line 100: Line 94:


== Scope ==
== Scope ==
* Proposal owners: New package "minizip-ng" will be created, and several changes in "minizip-compat" package which are described in the Detailed Description.
* Proposal owners: New package "minizip-ng" will be created and the "minizip" package will be retired. More described in the Detailed Description.


* Other developers: Change the names of their BuildRequires/Requires accordingly.
* Other developers: Change the names of their BuildRequires/Requires accordingly.
Line 192: Line 186:


zfstream
zfstream
=== minizip-compat ===
repoquery --whatrequires "*libminizip.so.1*" | pkgname | uniq
chromedriver
chromium
chromium-headless
domoticz
hashcat
libdigidocpp
minizip-compat-devel
springlobby


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Line 224: Line 199:
* Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->


''NOTE: If we don't finish this change to the deadline, it is possible to just complete this change with the next release.''
''NOTE: If we don't finish this change by the deadline, it is possible to just complete this change with the next release.''





Latest revision as of 15:29, 22 September 2022

Minizip Renaming

Summary

Renaming the "minizip" package to "minizip-ng" to align with the upstream naming.

Owner


Current status

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.

The "minizip" and "minizip-compat" provides different shared libraries which prevent us from conflicting sonames.

The plan behind this change can be put into 4 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.3

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 42 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


Feedback

Early feedback from the community is positive, 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 the "minizip" package will be retired. More 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:

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


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 by the deadline, it is possible to just complete this change with the next release.


Documentation

Upstream issue Bugzilla tracker

Release Notes