Hi everyone,
I just tried to install the new python39 stream on one of my systems. This includes the python39-Cython package. I realized that a simple "dnf install python39-Cython" does not work as the package is part of powertools (whereas python38-Cython is in appstream) [1]. Hence python39-Cython is not part of the "python39" module, but part of "python39-devel" - the corresponding module for python39 subpackages in powertools. Afaik this is required as a stream may only contain packages residing in one repository.
Ultimately the install fails because the python39-devel module has not set a default stream. For the python39 module a default stream is set.
I checked and can confirm that none of the modules in powertools has set a default stream. This is puzzling as all these modules have only one stream and the corresponding modules in appstream have a default stream set.
Wouldn't it make more sense to use the same default for both the module in appstream and the corresponding module in powertools (or any other repository it may reside in)?
Best
Peter
[1] Of course I could run a "dnf module enable python39-devel" before issuing the install command. However I use many scripts to setup systems that simply expect a list of packages to install, all these fail. Note that I do not even have to specify a stream to enable the correct one. While this makes sense as there is only one stream, it should not work according to the documentation (see man dnf): "In case stream is not specified, the enabled or the default stream is used, in this order." No stream is enabled and there is no default stream. This whole process just feels inconsistent.