Here’s another use case for supporting Provides-Dist
(and Obsoletes-Dist
):
The opencv-python
packages come in multiple flavors and only one of them should be installed as explicitly stated in their documentation. So if an install already has opencv-contrib-python
installed, a request to install opencv-python
(not an uncommon dependency for other packages) should be ignored as its functionality (and more) is already provided by opencv-contrib-python
. Currently, users can end up in an environment with both opencv-python
and opencv-contrib-python
installed, and depending on order of install all kinds of breakage.
Since opencv-contrib-python
provides a superset of opencv-python
, being able to specify Obsoletes-Dist and having it honored by the package manager would also be of great use. Then a user or package requesting installation of opencv-contrib-python
would lead to opencv-python
being removed. That doesn’t cause a loss of functionality and prevents having more than one of the packages installed at a time, as should really be avoided.
For future reference, see also this stackoverflow post hinting at how the tensorflow ecosystem could benefit from this.