[elrepo-devel] why it's not working for me?
Phil Perry
phil at elrepo.org
Tue Sep 1 11:56:04 EDT 2009
Farkas Levente wrote:
> On 09/01/2009 02:34 PM, Farkas Levente wrote:
>> hi,
>> when i try to recompile kmod-w83627hf, kmod-w83627ehf or kmod-it87 it's
>> finish but my build always add and extra requires to the packages:
>> ksym(platform_device_add_data) = f6242885
>> what's the reason for this? and how can i solve it?
>> thanks in advance.
>> regards.
>
> ok i find that it comes from redhat-rpm-config's:
> /usr/lib/rpm/redhat/find-requires.ksyms
> and that's why a modified find-requires.ksyms which delete the last two
> lines was added to all kmods. the real question now, how can elrepo
> build such a kmod packages in mock? i look into my mock's chroot and
> redhat-rpm-config installed by default. so how can you avoid to add
> these ksyms into the requires?
>
Correct - and you've worked out the answer for yourself :)
The explanation:
In July 2007 these 3 particular drivers were converted to platform
drivers (using functions defined in <linux/platform_device.h>) in the
mainline kernel, from where the source is backported. Thus, when built
as a kABI-tracking package, they Require ksym(platform_device_add_data)
as you note. However, the current upstream el5.3 kernel doesn't have
ksym(platform_device_add_data) defined within it's ABI whitelist
(presumably because no modules within the kernel currently use this
function).
As the el5.3 kernel is unable to meet the requirement from within it's
ABI whitelist, there's no point building the package with that
requirement as it will never be met, so we don't.
As you've correctly deduced, that behaviour is determined by
find-requires.ksyms, which we modify and build against. We don't use
mock to build elrepo mods, but rather build on native architecture
machines (doesn't matter whether virtual or real). If you wanted to
build in mock then I guess you'd need to patch redhat-rpm-config
installed in your local buildroot.
More information about the elrepo-devel
mailing list