From Fedora Project Wiki
No edit summary
(Change approved by FESCo)
 
(6 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:Category:ChangeReadyForWrangler]]
[[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 39: Line 37:
ON_QA -> change is fully code complete
ON_QA -> change is fully code complete
-->
-->
* FESCo issue: <will be assigned by the Wrangler>
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/DVHNQU2DCXY2JJQLH4TNJU7AXQPTP3VP/ devel thread]
* Tracker bug: <will be assigned by the Wrangler>
* FESCo issue: [https://pagure.io/fesco/issue/2857 #2857]
* Release notes tracker: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2129079 #2129079]
* 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 60: 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 possite, 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 99: 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 110: Line 105:




* Alignment with Objectives: Should align
* Alignment with Objectives:  


== Upgrade/compatibility impact ==
== Upgrade/compatibility impact ==
Line 191: 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 223: 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