Dne 03. 06. 20 v 13:22 Neal Gompa napsal(a):
On Wed, Jun 3, 2020 at 5:59 AM Vít Ondruch
<vondruch(a)redhat.com> wrote:
>
> Dne 02. 06. 20 v 23:02 Quentin Barnes napsal(a):
>> I author a kmod rpm package that uses the %kernel_module_package
>> macro. That macro used to be in the /usr/lib/rpm/redhat/macros
>> file, but was moved in RHEL 8 and later versions of Fedora to
>> the /usr/lib/rpm/macros.d/macros.kmp file which is owned by the
>> "kernel-rpm-macros" package.
>>
>> If I attempt to build my packages on these later systems with mock,
>> they break imediately even when just trying to create the srpm
>> because the %kernel_module_package macro is undefined leading to
>> a spec file parse error.
>>
>> What I need help with is understanding where the bug is and the best
>> way to fix it.
>>
>> I would think that either: 1) my spec file needs to be updated in
>> some way to mitigate this change
>
> It could be as easy as replacing:
>
> ~~~
>
> %kernel_module_package
>
> ~~~
>
>
> by
>
>
> ~~~
>
> %{?kernel_module_package}
>
> ~~~
>
>
> This should allow to build the SRPM and later when binary RPM is build,
> there have to be `BR: kernel-rpm-macros`.
>
Unfortunately, that's not good enough. The %kernel_module_package
macro defines BRs
This is bummer.
and a subpackage.
But not this. I don't think you need subpackage to build SRPM.
What precisely are these BRs? Isn't there a way to implement it
differently, without this functionality? I mean if the choice is between
installing "kernel-rpm-macros" for every package build or adding
manually few BRs for a few packages, then the choice should be obvious.
Vít
Without the macro working as
designed (where the macros already exist in the buildroot), kernel
modules cannot be successfully built.