Yocto / Bitbake的配方有“推土机”变量吗?

问题描述 投票:0回答:1

假设我有一些由我的自定义程序包安装的文件,但这些文件将覆盖由另一个程序包安装的一些但不是全部文件。

我认为直观的方法是

  1. 让我的包“DEPEND”在另一个上,以便它首先安装
  2. 我的安装会对首先存在的文件进行抄袭。

不幸的是,Bitbake喜欢为这种方法抛出许多错误。

是否有“IDGAF只是把它们放在那里”我可以设置的变量?

yocto bitbake
1个回答
2
投票

我不这么认为。我经常想要同样的东西,但从未找到解决方案。我的答案如下。

通常要做到这一点,我将安装我想要覆盖的文件的配方分叉到我自己的层中,并修改该配方以直接在文件系统中安装我需要的内容。对于像systemd,udev或其他系统应用程序这样的事情来说,这变得很复杂。在这种情况下,如果您觉得需要覆盖系统文件,可能需要重新考虑设计。在最好的情况下,很难保持随着时间和版本。但是,对于像protobuf,看门狗这样的简单想法,这是一个完全可以接受的机制来定义您的特定需求。

另一种选择是定义在映像安装期间要完成的一些功能,以便继续并在适当的位置修改文件。我为ssh配置执行此操作,作为实际创建映像文件之前的一个步骤。我在我的图像配方中创建特定的python函数,并从图像创建中调用它们。我这样做

ROOTFS_POSTPROCESS_COMMAND += "my_python_function"

老实说,你应该把这种想法当作最后的手段。根据需要简单地使用不同的文件可能更容易。

© www.soinside.com 2019 - 2024. All rights reserved.