Re: F38 proposal: Minizip renaming (Self-Contained Change proposal)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 22/08/30 05:57PM, Zbigniew Jędrzejewski-Szmek wrote:
> On Mon, Aug 15, 2022 at 05:04:27PM -0400, Ben Cotton wrote:
> > == 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)`
> 
> Hi,
> 
> it seems that Obsoletes does not work with boolean dependencies,
> so the proposed for would not work.

Correct. And even if it did work, you'd want to use the "with" operator
not "and."

> Instead, please use the standard form described by the Packaging
> Guidelines:
>   Obsoletes: minizip < 3.0.3

That also won't work. If minizip-ng "Obsoletes: minizip < 3.0.3" and the
new minizip package (the current minizip-compat) is 1.2.12-5, it will
get Obsoleted by minizip-ng, which is unwanted. I would suggest adding
"Epoch: 1" to the new minizip package (current minizip-compat) so it
sorts above 3.0.3.

You also shouldn't add "Provides: minizip = %{sameevr}`" to minizip-ng.
It will break parallel installability with the new minizip package. Just
wait to retire the current minizip (the one that's becoming minizip-ng)
until step 2 has been completed.

> > 2) Rebuild all of the packages that BuildRequire/Require "minizip"
> > package to BuildRequire/Require new "minizip-ng" package

Who will be doing this? How will it be done?

> > 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
> 
> FWIW, I prefer to keep those for a while. We don't officially support
> this, but people do upgrades over more than two versions quite often,
> and it's nice not to break that.

I agree. If you use the approach I outlined above, removing the
the Obsoletes won't be necessary in order to rename minizip-compat to
minizip.

> > 5) Rename the "minizip-compat" to the "minizip" package and add
> > `Provides: minizip-compat = %{sameevr}` and `Obsoletes: minizip-compat
> > < 1.2.12`
> 
> As already mentioned in the original discussion thread, this step is
> risky. We generally try to follow upstream naming on packages, but
> sometimes it's not possible for various technical reasons. This seems
> to be one of those cases, because limitiations of Obsoletes mean that
> we can't obsolete a subset of package versions.

If you use the Epoch approach, this wouldn't be an
issue. Also, what's the idea of waiting to do step 5 until Fedora 40?

> Minizip-compat is not intended to be used by anything in the
> distribution, so it's not a big deal if the package name is "wrong".
> Thus, I think it's better to skip this last step and tell minizip
> upstream that the we'll keep the "-compat" name for compatiblity
> reasons. Maybe add a sentence of explanation to the package name.

I agree. While it's possible to overcome the technical hurdles, this
whole Change seems like more headache than its worth. Kevin and I had to
deal with a similar situation of Obsoletes and Provides and boolean
Requires with the ansible -> ansible-core split, and it's been a huge
pain. This change is probably more complicated than that. It's likely
that I've confused something in this email given the complexity of a
renaming like this

-- 
Thanks,

Maxwell G (@gotmax23)
Pronouns: He/Him/His

Attachment: signature.asc
Description: PGP signature

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux