gpt4 book ai didi

yocto - 在 Yocto 中对源代码进行小的更改的最佳实践是什么

转载 作者:行者123 更新时间:2023-12-04 10:36:11 34 4
gpt4 key购买 nike

在 poky/build/tmp/work 目录中编辑源代码是一种好习惯吗?因为如果我们不小心清理了状态,更改将被删除。

或者,我们可以编辑"file"目录中的源代码以及配方文件,但由于这里的大部分代码由于大量文件而以压缩形式存在,因此我们需要再次解压缩和压缩以更改一行代码。

那么在 yocto 中编辑源代码的最佳方法是什么?

最佳答案

如果您的问题是关于永久性更改,那么 Dan 的答案就是您要遵循的答案。 IE。添加 <recipe name>.bbappend到您自己层中的配方,在其中添加
SRC_URI += "file://mypatch1.patch \
file://mypatch2.patch \
"
列举你需要的所有补丁。

如果有大量补丁,可能需要 fork 上游存储库,并在您的 fork 中维护自己的分支。在这种情况下,您可能希望引用自己的存储库,而不是上游存储库或 tarball。

OTOH,如果您的问题更多是关于进行中的工作;那么当然,在 oky/build/tmp/workoky/build/tmp/work/xxxx 中进行将工作。 (而且很可能,这是大多数人长期以来一直在做的事情)。

但是,在最近的版本中(从 1.8,fido)有一个更好的方法。新工具名为 devtool .您可以按如下方式使用它:

devtool modify -x <recipe-name> <path-to-unpack-source>
解压源并创建一个新的 bbappend 以从解压的源中构建。它还在源目录中创建一个 git repo。

现在您可以修改源。您可以通过运行 devtool build <recipe-name> 来测试构建修改后的源代码。 .一旦您满意,请使用 git add ...git commit将您的更改提交到本地存储库。将更改提交到本地存储库后,您可以运行:
devtool update-recipe <recipe-name>
更新有问题的食谱。满意后可以运行devtool reset <recipe-name>删除临时 bbappend。

另见:Yocto manual on modifying source code

关于yocto - 在 Yocto 中对源代码进行小的更改的最佳实践是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33939837/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com