[CentOS-devel] How to compile modular SRPMs for CentOS 8?

Wed Apr 13 10:32:36 UTC 2022
Johnny Hughes <johnny at centos.org>

On 4/13/22 05:28, Johnny Hughes wrote:
> On 4/13/22 05:13, Leon Fauster via CentOS-devel wrote:
>> Am 13.04.22 um 05:08 schrieb Nico Kadel-Garcia:
>>> I admit to disliking "modularity" for RPMs, especially because there
>>> are various modularity RPMs I'd like to compile for python 3.9
>>> compatibility. ansible-core requires at least python 3.8, but there
>>> are a stack of dependencies for ansible-core which have never been
>>> provided for python 3.9, such as python39-sphinx and python39-pytest..
>>>
>>> Can anyone offer me suggestions or guidance on how to build those? The
>>> SRPMs for python3-pytest and others seem to support modularity, but
>>> I'd like to use "mock" locally to test them out.
>>
>> Correct me if I understand it wrongly. The requirement is not building a
>> module but against a enabled module?
>>
>> IIRC in mock config:
>>
>> config_opts['module_enable'] = ['python39:3.9']
>>
>> and then build the rpms normally.
> 
> That might work for a test, if you manually know everything that is 
> required.  You can find this in the required yaml/modulemd.src.txt files 
> for modules that we release.
> 
> The real issue is, most of the modules are interdependent.  The koji/MBS 
> combo looks at the yaml files and creates a macros rpm that loads the 
> correctitems into the buildroot.  So you get the proper python, the 
> proper perl, the proper maven, etc, items included.  Here is an example 
> perl module to build:
> 
> https://koji.mbox.centos.org/koji/rpminfo?rpmID=438360
> 
> Manually adding in each of those will be a huge PITA :)
> _______________________________________________

In that particular case, it was the conflicts list (what not to use) 
that was more important (and huge).