On 6/7/22 4:36 PM, Chuck Wolber wrote:
>> Is
there an elegant way around it?
>>
>>
>> Error:
>> Problem: conflicting requests
>> - nothing provides libdl.so.2 needed
by
>> xxx-single-group-0.1-r0.cortexa53_crypto
>> - nothing provides
libdl.so.2(GLIBC_2.0) needed by
Could this be considered a bug in the package_rpm.bbclass?
It seems to me that if you skip files-rdeps,
we might not want to be adding anything into splitpreinst.
Otherwise it seems silly to tell insane.bbclass
to skip something that RPM is going to ding you on later
anyway. Or maybe I am confused...
In any case, I believe what you may be seeing can be viewed
as an RPM-ism, and not necessarily a
yocto-ism per se. So you might consider trying one of the
following to work around the problem:
It's Yocto that creates the spec file for rpm. Apparently,
besides relying on what is declared in RDEPENDS, it
actually iterates over the files and appends the dependencies (and
their versions). It results in this:
Requires: libc.so.6
Requires: libc.so.6()(64bit)
Requires: libc.so.6(GLIBC_2.0)
Requires: libc.so.6(GLIBC_2.1)
Requires: libc.so.6(GLIBC_2.1.3)
Requires: libc.so.6(GLIBC_2.17)(64bit)
Requires: libc.so.6(GLIBC_2.2)
Requires: libc.so.6(GLIBC_2.28)(64bit)
Requires: libc.so.6(GLIBC_2.3)
Requires: libc.so.6(GLIBC_2.3.4)
Requires: libc.so.6(GLIBC_2.4)
Requires: libc.so.6(GLIBC_2.7)
Removing anything but the first two lines would probably do the
trick. So if file-rdeps is declared in INSANE_SKIP
it should simply only use the declared RDEPENDS and not analyze
the files.
Experiment with using a virtual provider. It may be
possible to just map the dependency manually to
what is already there.
If you _know_ that your dependency is truly isolated to
your recipe, you may be able to set RPROVIDES
values in your recipe so the resulting RPM thinks the
dependencies are met internally.
Patch package_rpm.bbclass to add a guard variable around
the setting of splitpreinst. Add that
guard variable to your recipe so it selectively turns off
the pre-install checks for that particular package.
Or just check for files-rdeps in INSANE_SKIP and do the
same thing...
Yeah well, that's not really a good solution unless it's
upstreameable.
Stop fighting RPM and switch to a different package type
like IPK.
That would probably only work if the dependency mechanism is
different for IPK. I have not checked that.
..Ch:W..
--
"Perfection
must be reached by degrees; she requires the slow
hand of time." - Voltaire
--
Rudolf J Streif
CEO/CTO ibeeto
+1.855.442.3386 x700