[CentOS-devel] No default stream configured for modules in powertools

Fri Feb 19 20:03:20 UTC 2021
Peter Georg <peter.georg at physik.uni-regensburg.de>

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)?



[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.