On 7/6/21 3:12 PM, Richard Purdie wrote:
Kernel modules can be:

a) not built at all
b) built into the kernel3
c) built as separate packages

For OE, where something needs a kernel module, we suggest people:

RRECOMMEND_XXX += "kernel-module-xxx"

and the kernel recipe has PACKAGES_DYNAMIC = "kernel-module-*".

 From bitbake's perspective, it builds the kernel (since the PACKAGES_DYNAMIC
covers kernel-modules-xxx) and then hands off to the package manager.

In the case it was built in, the Recommends will be passed over by the
package manager since it is just a suggestion. If the module is present,
it would be included in the image.

The issue as described is that if someone has IMAGE_INSTALL containing
kernel-module-xxx *and* some other package in the image RRECOMMENDS that
module, it doesn't error if the package doesn't exist.

I have to admit I don't remember how IMAGE_INSTALL is being passed into
opkg but the change in behaviour due to the addition of a RRECOMMENDS does
not sound right to me. The rpm backend does not do that but errors
consistently.

Yep; I understand all of that and agree. My goal here is just to make sure that the bug is filed to the correct location. As it stands, the only description of the error is from OE's perspective, and I'd like to get some understanding of the interface between OE and opkg, for this special case.

It sounds like the "Depends" from IMAGE_INSTALL is somehow being overruled
by the Recommends from some sub package dependency.

I know that IMAGE_INSTALL gets consumed into PACKAGE_INSTALL, which gets pass off to the PM modules (iirc.) And I also recall there being a PACKAGE_INSTALL_ATTEMPTONLY variable[1]. I wonder if RRECOMMENDS are being ATTEMPTed (either through that variable, or a similar one), and the failed attempt is pre-empting the mandatory install attempt. Worth looking into.

[1] https://git.openembedded.org/openembedded-core/tree/meta/classes/image.bbclass#n79

If we're driving opkg incorrectly, we should fix that but I'm not sure
where the issue is, I suspect opkg...

Why do you suspect opkg? The situation from its perspective is only that `kernel-module-xxx` is recommended by another package, but not available in the feeds. There's nothing invalid about that state that would cause opkg to throw an error.

Thanks,

--
Alex Stewart
Software Engineer - NI Real-Time OS
NI (National Instruments)

alex.stew...@ni.com

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#153626): 
https://lists.openembedded.org/g/openembedded-core/message/153626
Mute This Topic: https://lists.openembedded.org/mt/83779506/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to