<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">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">devel@lists.fedoraproject.org</a>&gt;, <a href="mailto:devel-announce@lists.fedoraproject.org">devel-announce@lists.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.<wbr>i686&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>
<br>
Table of affected packages/maintainers:<br>
<a href="https://ignatenkobrain.fedorapeople.org/broken-obsoletes/2016-09-02/broken-obsoletes.txt" rel="noreferrer" target="_blank">https://ignatenkobrain.<wbr>fedorapeople.org/broken-<wbr>obsoletes/2016-09-02/broken-<wbr>obsoletes.txt</a><br>
<span class="HOEnZb"><font color="#888888">--<br>
-Igor Gnatenko<br>
--<br>
devel mailing list<br>
<a href="mailto:devel@lists.fedoraproject.org">devel@lists.fedoraproject.org</a><br>
<a href="https://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org" rel="noreferrer" target="_blank">https://lists.fedoraproject.<wbr>org/admin/lists/devel@lists.<wbr>fedoraproject.org</a><br>
</font></span></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Sandro Bonazzola<br>Better technology. Faster innovation. Powered by community collaboration.<br>See how it works at <a href="http://redhat.com" target="_blank">redhat.com</a><br></div></div><div dir="ltr"><a href="https://www.redhat.com/it/about/events/red-hat-open-source-day-2016" target="_blank"><img src="http://images.engage.redhat.com/EloquaImages/clients/RedHat/%7B53f97a34-013e-4b79-966f-222f50a6de8c%7D_Red_Hat_Open_Source_Day_2_CITIES.png" width="420" height="60"></a><br></div></div></div></div></div>
</div></div>