<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 7, 2017 at 10:43 AM, Christian Ehrhardt <span dir="ltr"><<a href="mailto:christian.ehrhardt@canonical.com" target="_blank">christian.ehrhardt@canonical.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>Reading through [1] and [2] makes details a bit blurred.</div><div>I think we surely need the conflicts and maybe the replaces.</div><div>I'm not so sure due to the middle paragraph in [2] if there is a versioned dependency if this will do the trick.</div><div>It might be the case that this only works if the old had a non versioned provides that we are now moving forward and the non versioned dependencies would fix that.</div><div>Yet clearly worth to be tested - even if breaking I'd hope it is much closer to a real solution.</div></blockquote></div><br><div class="gmail_extra">The solution with provides/conflicts/replaces fails for what I expected around the versioned depends.</div><div class="gmail_extra">Installing new removes old dependencies - reinstalling has conflicts:</div><div class="gmail_extra"><br></div><div class="gmail_extra">Removes old libs - ok: libethdev4 librte-cryptodev1 librte-eal2</div><div class="gmail_extra">But also removes: openvswitch-switch-dpdk</div><div class="gmail_extra">To add I see:</div><div class="gmail_extra">   openvswitch-switch-dpdk : Depends: libethdev4 (>= 16.07~rc1)</div><div class="gmail_extra">                             Depends: librte-eal2 (>= 16.04)</div><div class="gmail_extra"><br></div><div class="gmail_extra">That pretty much seems as the "Provides" doesn't serve versioned dependencies.</div><div class="gmail_extra">Quoting: "If a relationship field has a version number attached, only real packages will be considered to see whether the relationship is satisfied (or the prohibition violated, for a conflict or breakage). In other words, if a version number is specified, this is a request to ignore all Provides for that package name and consider only real packages. The package manager will assume that a package providing that virtual package is not of the "right" version. A Provides field may not contain version numbers, and the version number of the concrete package which provides a particular virtual package will not be considered when considering a dependency on or conflict with the virtual package name."</div><div class="gmail_extra"><br></div>Going for the more explicit compat packages try now.<br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><span style="color:rgb(136,136,136);font-size:12.8px">Christian Ehrhardt</span><div style="color:rgb(136,136,136);font-size:12.8px">Software Engineer, Ubuntu Server</div><div style="color:rgb(136,136,136);font-size:12.8px">Canonical Ltd</div></div></div></div></div>
</div></div>