<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">&lt;<a href="mailto:sbonazzo@redhat.com" target="_blank">sbonazzo@redhat.com</a>&gt;</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">&lt;<a href="mailto:ignatenko@redhat.com" target="_blank">ignatenko@redhat.com</a>&gt;</span><br>Date: Fri, Sep 2, 2016 at 1:14 PM<br>Subject: Unversioned and &gt;/=/&gt;= obsoletes<br>To: Development discussions related to Fedora &lt;<a href="mailto:devel@lists.fedoraproject.org" target="_blank">devel@lists.fedoraproject.org</a><wbr>&gt;, <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 &lt;/&lt;= Obsoletes, but unfortunately we<br>
have some number of packages (179 source rpms -&gt; 292 binary rpms) with<br>
unversioned Obsoletes or with &gt;/=/&gt;= 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 &quot;never&quot; I mean latest N-2 releases):<br>
<br>
* Package/SubPackage was never built in Fedora<br>
Package &quot;python&quot; has &quot;Obsoletes: python2&quot; which was never built -&gt;<br>
drop Obsoletes<br>
SubPackage &quot;qpid-proton-c&quot; of &quot;qpid-proton&quot; has &quot;Obsoletes:<br>
qpid-proton&quot; which was not the package for long time -&gt; drop Obsoletes<br>
<br>
* Package replacement<br>
Package &quot;storaged&quot; has &quot;Obsoletes: udisks2&quot; -&gt; take latest version<br>
from koji (2.1.7-1) and make Obsoletes versioned: udisks2 &lt; 2.1.7-2<br>
storaged is not simple use-case as it replaces udisks2, but latter is<br>
still not retired.<br>
<br>
* &quot;=&quot; Obsoletes<br>
&quot;rubygem-vte&quot; has &quot;Obsoletes: ruby-vte = 3.0.9-1.fc26&quot; (probably it&#39;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&#39;t work to prevent undefined behavior. Imagine you have<br>
installed &quot;A&quot; and &quot;B&quot;, both providing &quot;C&quot;. Package &quot;D&quot; has &quot;Obsoletes:<br>
C&quot;, it should not remove &quot;A&quot; and &quot;B&quot;.<br>
** %{?_isa}<br>
&quot;glibc-headers&quot; has &quot;Obsoletes: glibc-headers(i686)&quot;. %{?_isa} is just<br>
text, it&#39;s not part of architecture or something else.<br>
** Other provides<br>
&quot;rubygem-http_connection&quot; has &quot;Obsoletes:<br>
rubygem(right_http_connection)<wbr>&quot;. Latter is virtual provides.<br>
<br>
* Weird obsoletes (broken)<br>
&quot;krb5-server&quot; has &quot;Obsoletes: krb5-server-1.14.3-8.fc26.i686<wbr>&quot;.<br>
Basically it will not obsolete anything because it&#39;s threated as<br>
package name (and we definitely don&#39;t have such package name).<br>
<br>
* &gt;/&gt;= Obsoletes<br>
&quot;vdsm&quot; has &quot;Obsoletes: vdsm-infra &gt;= 4.16.0&quot;. It&#39;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>