如何添加包以将SDK填充为主机工具?

Ben*_*wan 7 bitbake yocto

我已经创建了自己的配方来构建我的SW,它在构建期间需要本机perl(例如,调用perl脚本来生成代码).如果我将配方添加到图像并使用bitbake与图像构建配方,则没有问题.

现在我还想用一个填充SDK来构建SW,但是我发现当我生成填充SDK时,本机perl只包含一些模块而没有构建我的SW所需的模块.我发现了两种使用其他perl模块生成填充SDK的方法:

  1. 在生成填充SDK之前,将TOOLCHAIN_HOST_TASK + ="nativesdk-perl-modules"添加到我的图像.bb文件中
  2. 为nativesdk-packagegroup-sdk-host添加一个bbappend文件,其中包含RDEPENDS中的"nativesdk-perl-modules"

对于1,它是特定于图像的解决方案.对于2,它是一个全球解决方案.

现在我正在寻找特定配方的解决方案.有没有我可以在我的配方.bb文件中添加一些配置的解决方案,然后我为包含我的配方的任何图像构建填充SDK将包含这些额外的本机perl模块?

小智 4

恐怕没有真正的方法可以让特定的配方暗示向 SDK 添加特定的依赖项。我能想到的最接近的事情是将某些东西编码到匿名Python中,就像一个额外的全局类一样,它检查包含的目标包,然后如果安装了正确的目标包,则将依赖项添加到TOOLCHAIN_HOST_TASK。即使这样也无法检测到您的特定配方的非直接依赖性。