On Tue, 2024-10-08 at 13:42 +0200, Alexander Kanavin wrote: > > On Tue, 8 Oct 2024 at 13:24, <[email protected]> wrote: > > > > > > It is a build time dependency as I see it. > > > > > > > > if foo.bb is setting DEPENDS to include "bar baz and qux" to > > > > indicate > > > > it need it for compilation. > > > > > > > > When foo is added to an image, and we then populate_sdk for > > > > this > > > > image > > > > I expect that the SDK includes the dev packages of bar baz and > > > > qux > > > > to > > > > be able to compile foo with it. > > > > > > > > This has working until now as the SDK installed the recommended > > > > packages. > > > > > > > > The key is that process_depchains in package.py make the > > > > recommendation. From the comment > > > > > > > > <snip> > > > > def process_depchains(pkgfiles, d): > > > > """ > > > > For a given set of prefix and postfix modifiers, make those > > > > packages > > > > RRECOMMENDS on the corresponding packages for its RDEPENDS. > > > > > > > > Example: If package A depends upon package B, and A's .bb > > > > emits an > > > > A-dev package, this would make A-dev Recommends: B-dev. > > > > </snip> > > > > > > > > I will start on creating an example on my github account > > > > showing > > > > the > > > > issue better if it is not yet clear. > > > > I still don't understand why the standard SDK population mechanism > > doesn't work for you. It does pull in -dev for everything that is > > in > > the image, so where does this break down? > > > > Alex
I have made a small example on github - in the sdk_example branch https://github.com/frosteyes/yocto-master/tree/fe/sdk_example In short it has a layer named meta-fe. This contains a small app named fe-app (just a program with boost dependency), and a dummy-fe-app as placeholder for the same dependencies. https://github.com/frosteyes/yocto-master/tree/fe/sdk_example/meta-fe/recipes-application/fe-app Next their is two images. image-amp-base based on core-image-minimal, just adding dummy-fe-app, and a image-fe starting from the base image, but removing the dummy-fe-app and adding the fe-app instead. Think of this as a pattern, where you have several dummy packages, and that the dependency includes a significant number of packages like boost, qt packages, gstreamer, etc. Until know this pattern have worked great for having a base sdk / image, able to be shared to an application team, so they have something to code against when upgrading, so their is breaking changes of the application. It is based around that the SDK installed the recommends packages, as the list of packages ends in the recommends section of the RPM packages. yocto@yocto:~/./deploy/rpm/core2_64$ rpm -q --recommends dummy-fe-app- dev* boost-dev dummy-fe-app = git-r0 But as the dummy package only contain a text file and no binary, the rpm --requires only list the default rpmlib and not all the files located for the binary of fe-app. Hope it make it more clear what workflow their is broken with the change, and why my patch suggest to making it a configurable option. Will update the patch (split out documentation and better commit message) and send v1 of the patch. /Claus
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#205646): https://lists.openembedded.org/g/openembedded-core/message/205646 Mute This Topic: https://lists.openembedded.org/mt/108685995/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
