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

Yocto 如何添加包以填充SDK作为主机工具?,yocto,bitbake,Yocto,Bitbake,我已经创建了自己构建软件的方法,在构建过程中需要本机perl(例如,调用perl脚本生成代码)。如果我将我的食谱添加到图像中,并使用bitbake使用该图像构建食谱,则没有问题 现在,我还想用populatesdk构建软件,但我发现,当我生成populatesdk时,本机perl只包含几个模块,而没有构建软件所需的模块。我找到了两种使用其他perl模块生成PopulateSDK的方法: 在生成populateSDK之前,将工具链\u HOST\u TASK+=“nativesdk perl mo

我已经创建了自己构建软件的方法,在构建过程中需要本机perl(例如,调用perl脚本生成代码)。如果我将我的食谱添加到图像中,并使用bitbake使用该图像构建食谱,则没有问题

现在,我还想用populatesdk构建软件,但我发现,当我生成populatesdk时,本机perl只包含几个模块,而没有构建软件所需的模块。我找到了两种使用其他perl模块生成PopulateSDK的方法:

  • 在生成populateSDK之前,将工具链\u HOST\u TASK+=“nativesdk perl modules”添加到我的image.bb文件中
  • 为nativesdk packagegroup sdk主机添加bbappend文件,该主机在RDEPENDS中包含“nativesdk perl模块”
  • 对于1,它是一个特定于图像的解决方案。 对于2来说,这是一个全球性的解决方案


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

    我担心,对于特定的recipe,实际上没有办法提示向SDK添加特定的依赖项。我能想到的最接近的事情是在一个额外的全局类中将一些东西编码到匿名python中,在这个类中,它检查包含的目标包,然后在安装了正确的目标包的情况下将依赖项添加到TOOLCHAIN_HOST_任务中。即使这样,也无法检测特定配方的非直接依赖性。

    我要找的是依赖类nativesdk=“nativesdk perl modules”吗?您问题中的信息通过将缺少的integer.pm模块添加到sdk中帮助我构建openssl。谢谢我想您应该只使用
    dependens+=“-native”