<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Sep 2, 2016 at 2:26 PM, Sandro Bonazzola <span dir="ltr"><<a href="mailto:sbonazzo@redhat.com" target="_blank">sbonazzo@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">FYI, Fedora reviewed vdsm spec file regarding obsoletes.<div><br></div><div><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Igor Gnatenko</b> <span dir="ltr"><<a href="mailto:ignatenko@redhat.com" target="_blank">ignatenko@redhat.com</a>></span><br>Date: Fri, Sep 2, 2016 at 1:14 PM<br>Subject: Unversioned and >/=/>= obsoletes<br>To: Development discussions related to Fedora <<a href="mailto:devel@lists.fedoraproject.org" target="_blank">devel@lists.fedoraproject.org</a><wbr>>, <a href="mailto:devel-announce@lists.fedoraproject.org" target="_blank">devel-announce@lists.<wbr>fedoraproject.org</a><br><br><br>All guidelines mandate the use of </<= Obsoletes, but unfortunately we<br>
have some number of packages (179 source rpms -> 292 binary rpms) with<br>
unversioned Obsoletes or with >/=/>= Obsoletes.<br>
<br>
It is causing problems with upgrade (if package is getting re-added)<br>
or with 3rd-party repositories. Older package is obsoleting new<br>
package.<br>
<br>
Problem categories (in following text by "never" I mean latest N-2 releases):<br>
<br>
* Package/SubPackage was never built in Fedora<br>
Package "python" has "Obsoletes: python2" which was never built -><br>
drop Obsoletes<br>
SubPackage "qpid-proton-c" of "qpid-proton" has "Obsoletes:<br>
qpid-proton" which was not the package for long time -> drop Obsoletes<br>
<br>
* Package replacement<br>
Package "storaged" has "Obsoletes: udisks2" -> take latest version<br>
from koji (2.1.7-1) and make Obsoletes versioned: udisks2 < 2.1.7-2<br>
storaged is not simple use-case as it replaces udisks2, but latter is<br>
still not retired.<br>
<br>
* "=" Obsoletes<br>
"rubygem-vte" has "Obsoletes: ruby-vte = 3.0.9-1.fc26" (probably it's<br>
macro in spec) which seems really weird as it will not obsolete<br>
F24/F25 with such version<br>
<br>
* Obsoletes by Provides<br>
It doesn't work to prevent undefined behavior. Imagine you have<br>
installed "A" and "B", both providing "C". Package "D" has "Obsoletes:<br>
C", it should not remove "A" and "B".<br>
** %{?_isa}<br>
"glibc-headers" has "Obsoletes: glibc-headers(i686)". %{?_isa} is just<br>
text, it's not part of architecture or something else.<br>
** Other provides<br>
"rubygem-http_connection" has "Obsoletes:<br>
rubygem(right_http_connection)<wbr>". Latter is virtual provides.<br>
<br>
* Weird obsoletes (broken)<br>
"krb5-server" has "Obsoletes: krb5-server-1.14.3-8.fc26.i686<wbr>".<br>
Basically it will not obsolete anything because it's threated as<br>
package name (and we definitely don't have such package name).<br>
<br>
* >/>= Obsoletes<br>
"vdsm" has "Obsoletes: vdsm-infra >= 4.16.0". It's almost same as<br>
unversioned Obsoletes. So it must not be used.<br></div></div></div></blockquote><div><br></div><div>Should be fixed here if I understood the problem</div><div><a href="https://gerrit.ovirt.org/63215">https://gerrit.ovirt.org/63215</a></div></div></div></div>