在我的
foo_git.bb
:
SRC_URI = "git://github.com/foo/foo.git;branch=main;protocol=https;name=${BPN};destsuffix=git \
git://github.com/foo2/foo2;branch=main;protocol=https;name=${FOO2};destsuffix=${FOO2} \
file://0001-Modify-A_value.patch\
"
我希望我的补丁适用于
foo2
,但它总是适用于foo
。 (补丁失败)
我发现补丁后附加
patchdir
就可以工作了。
例如:
file://0001-Modify-A_value.patch;patchdir=${WORKDIR}/${FOO2_path}
摘自原厂手册
补丁文件将被复制到
,然后从源目录中应用到源,${S}/patches
${S}.
因此,为了让您的用例正常工作,您的补丁文件名应包含其基本存储库名称。
例如,假设 0001-Modify-A_value.patch 如下:
diff --git a/my.txt b/my.txt
index fa5cb9a..59369cc 100644
--- a/my.txt
+++ b/my.txt
@@ -1 +1 @@
-I am foo who lives in bar
+I am bar who lives in foo
要使其适用于 foo2,您必须对其进行如下修改:
--- foo2/my.txt
+++ foo2/my.txt
@@ -1 +1 @@
-I am foo who lives in bar
+I am bar who lives in foo
Bitbake 使用 Quilt 进行修补,因此如果有错误等,请查看其手册。 bitbake 提供的另一个可以进一步帮助您的方便工具是 devtool,它旨在处理更新配方或修补配方等任务。