![](https://seccdn.libravatar.org/avatar/9435667f7160374bc34a8600b686aecd.jpg?s=120&d=mm&r=g)
On Thu, Aug 17, 2023 at 12:54 PM Ben Greiner <code@bnavigator.de> wrote: ...
RPM boolean dependencies?
Requires: (python3.11dist(jupyterlab) if python3 == 3.11)
Requires: (python3.10dist(jupyterlab) if python3 == 3.10)
Requires: (python3.9dist(jupyterlab) if python3 == 3.9)
...
* python3 == 3.1X would only work for 3.1X.0 versions. python31X-base without any version would be the correct name
Well, I am not familiar with the details of python packaging. The idea is to require python3 - any version. I am sure you know much better than me how to do it.
* This installs jupyterlab and all of its dependencies for all installed python flavors, regardless whether the user wants it really for all flavors or whether the other flavors are installed for different reasons.
No, it /should/ install only the flavors for which python is already installed (or is being installed in the same transaction). If python3.9 is not present, python3.9-jupyterlab will not be required. OK, now when I spell it, "the same transaction" may not work with zypper which bypasses RPM transactions. Which is the same corner case "no python present".
* Every time the flavor build set changes, all the jupyter-* packages, which have the same python3dist idiom for the same purpose would need to be updated. (Or a macro automatically expanding it to the flavors needs to be introduced)
Of course if it is going to be implemented it must be a macro matching current %python_subpackages and automatically add dependencies for the same flavours.