[ovirt-devel] Fwd: Unversioned and >/=/>= obsoletes

Sandro Bonazzola sbonazzo at redhat.com
Fri Sep 2 11:26:03 UTC 2016


FYI, Fedora reviewed vdsm spec file regarding obsoletes.


---------- Forwarded message ----------
From: Igor Gnatenko <ignatenko at redhat.com>
Date: Fri, Sep 2, 2016 at 1:14 PM
Subject: Unversioned and >/=/>= obsoletes
To: Development discussions related to Fedora <devel at lists.fedoraproject.org>,
devel-announce at lists.fedoraproject.org


All guidelines mandate the use of </<= Obsoletes, but unfortunately we
have some number of packages (179 source rpms -> 292 binary rpms) with
unversioned Obsoletes or with >/=/>= Obsoletes.

It is causing problems with upgrade (if package is getting re-added)
or with 3rd-party repositories. Older package is obsoleting new
package.

Problem categories (in following text by "never" I mean latest N-2
releases):

* Package/SubPackage was never built in Fedora
Package "python" has "Obsoletes: python2" which was never built ->
drop Obsoletes
SubPackage "qpid-proton-c" of "qpid-proton" has "Obsoletes:
qpid-proton" which was not the package for long time -> drop Obsoletes

* Package replacement
Package "storaged" has "Obsoletes: udisks2" -> take latest version
from koji (2.1.7-1) and make Obsoletes versioned: udisks2 < 2.1.7-2
storaged is not simple use-case as it replaces udisks2, but latter is
still not retired.

* "=" Obsoletes
"rubygem-vte" has "Obsoletes: ruby-vte = 3.0.9-1.fc26" (probably it's
macro in spec) which seems really weird as it will not obsolete
F24/F25 with such version

* Obsoletes by Provides
It doesn't work to prevent undefined behavior. Imagine you have
installed "A" and "B", both providing "C". Package "D" has "Obsoletes:
C", it should not remove "A" and "B".
** %{?_isa}
"glibc-headers" has "Obsoletes: glibc-headers(i686)". %{?_isa} is just
text, it's not part of architecture or something else.
** Other provides
"rubygem-http_connection" has "Obsoletes:
rubygem(right_http_connection)". Latter is virtual provides.

* Weird obsoletes (broken)
"krb5-server" has "Obsoletes: krb5-server-1.14.3-8.fc26.i686".
Basically it will not obsolete anything because it's threated as
package name (and we definitely don't have such package name).

* >/>= Obsoletes
"vdsm" has "Obsoletes: vdsm-infra >= 4.16.0". It's almost same as
unversioned Obsoletes. So it must not be used.

Table of affected packages/maintainers:
https://ignatenkobrain.fedorapeople.org/broken-obsoletes/2016-09-02/broken-
obsoletes.txt
--
-Igor Gnatenko
--
devel mailing list
devel at lists.fedoraproject.org
https://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org



-- 
Sandro Bonazzola
Better technology. Faster innovation. Powered by community collaboration.
See how it works at redhat.com
<https://www.redhat.com/it/about/events/red-hat-open-source-day-2016>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/devel/attachments/20160902/b402d318/attachment-0001.html>


More information about the Devel mailing list