Jupyter: split and obsolete files
Hi, A few days ago I updated the python-ipykernel package to version 6, which dropped support for Python 3.6. In order not to have to fix all Jupyter/IPython packages I decided to also create python-ipykernel5 which is supposed to provide python36-ipykernel = 5.5.5-$release. Now in the same strike, I decided to drop the unflavored jupyter-ipykernel package, which provided the Jupyter kernelspec for the primary flavor only. Instead now all the python3X flavored packages provide their own kernelspec. In order to keep the upgrade path, the primary python3 flavor package provides/obsoletes jupyter-ipykernel now. The planned situation would be:
python38-ipykernel-6.0.3-1.1.noarch.rpm Provides: python3-ipykernel = 6.0.3-1.1 Obsoletes: python3-ipykernel < 6.0.3-1.1 Provides: jupyter-ipykernel = 6.0.3-1.1 Obsoletes: jupyter-ipykernel < 6.0.3-1.1
python39-ipykernel-6.0.3-1.1.noarch.rpm *None of the above primary flavor only tags*
python36-ipykernel5-5.5.5-2.1.noarch.rpm Provides: python36-ipykernel = 5.5.5-2.1 Obsoletes: python36-ipykernel < 5.5.5-2.1
No jupyter-ipykernel-X.Y.Z-Rm.Rn.noarch.rpm
jupyter.spec BuildRequires: %{python_module ipykernel}
BUT: Right now in the Tumbleweed repos/Factory, there still exists python-ipykernel version 5.5.5 with the subpackages jupyter-ipykernel-5.5.5 and
python36-ipykernel-5.5.5-1.1.noarch.rpm Requires: jupyter-ipykernel = 5.5.5
So I get: ~:devel:languages:python:jupyter/jupyter> osc buildinfo -d ... <error>unresolvable: conflict for providers of jupyter-ipykernel = 5.5.5 needed by python36-ipykernel (provider jupyter-ipykernel is obsoleted by python38-ipykernel)</error> ... added python36-ipykernel@openSUSE:Tumbleweed/dod because of python36-ipykernel (direct dep) Here I thought the Obsoletes tag in python-ipykernel5 would be enough to tell OBS to take the higher ordered split package instead of the still existing python36-ipykernel-5.5.5. Any ideas how to solve this without editing all specfiles requiring ipykernel? Regards, Ben
participants (1)
-
Ben Greiner