[CentOS] Mock config error

Mon Aug 24 20:48:21 UTC 2020
me at tdiehl.org <me at tdiehl.org>

Hi Jonathan,

On Sun, 23 Aug 2020, Jonathan Billings wrote:

> On Aug 23, 2020, at 12:07, me at tdiehl.org wrote:
>>
>> Hi,
>>
>> I am trying to create a mock configuration file that points to my local dnf repo.
>> I have the following in the mock config template:
>>
>> [local-repo]
>> name=my-Local
>> baseurl=http://yumrepo.example.com/yum-repository/local/centos/8/x86_64/ failovermethod=priority
>> skip_if_unavailable=False
>>
>> When I try to run mock I get the following error:
>>
>> (vgeppetto3 pts18) $ mock -v -r epel-8-x86_64 /home/mock/rpmbuild/SRPMS/centos-release-8.2-2.2004.0.1.el8.1.src.rpm
>>
>>  File "<string>", line 238
>>
>>    baseurl=http://yumrepo.example.com/yum-repository/local/centos/8/x86_64/
>>
>>                ^
>> SyntaxError: invalid syntax
>>
>> ERROR: Error in configuration
>> (vgeppetto3 pts18) $
>>
>> I copied the url out of a yum repo file I am using that works with dnf on a centos 8 machine.
>>
>> Can someone tell me what I am doing wrong?
>
> I assume you added the yum repo after a line that looks like this:

That was what I was missing. Fixing that and changing the order of the template
lines in epel-8-x86_64.cfg resolved the issue. Thanks for that!!

>
> config_opts['dnf.conf'] += """
>
>
> And before a line that looks like this:

Also, I am trying to add a dist tag to rpms that I build in mock.
In the epel-7 configs I do something like the following:
config_opts['macros']['%dist'] = '.el7.tnt' to get a dist tag on the
rpms. In epel/centos 8 this does not work.

If I run "mock --debug-config epel-8-x86_64"
I see '%dist': '.el8.tnt'} in the output but the rpm name 
does not have the el8.tnt tag in the name.

Below is what I actually get:
(vgeppetto3 pts19) $ ll /var/lib/mock/epel-8-x86_64/result/centos-release-8.2-2.2004.0.1.el8.1.x86_64.rpm 
-rw-r--r--. 1 mock mock 20404 Aug 24 13:32 /var/lib/mock/epel-8-x86_64/result/centos-release-8.2-2.2004.0.1.el8.1.x86_64.rpm
(vgeppetto3 pts19)

I have the following in the spec file:
Release:    %{centos_rel}.0.1%{?dist}.1

Does anyone know how to apply a dist tag in the epel-8 mock configs?

Is mock documented anywhere besides the src code? I cannot find any
documentation that explains what actually needs to be in a mock
configuration file or in this case how to specify my own dist tag.

Regards,

-- 
Tom			me at tdiehl.org