yocto自定义receipe的bbappend修补错误

yocto自定义receipe的bbappend修补错误,yocto,Yocto,我是yocto的新手。我已经创建了一个简单的图层,它由一个简单的wpa_Suplicant补丁文件组成。我想从我自己的层修改wpa_supplicant.conf-sane文件。原始wpa_请求者驻留在不同的层上 wpa-supplicant-bbappend ├── wpa-supplicant │   └── wiress_info.patch └── wpa-supplicant_2.6.bbappend 我已经生成了一个diff文件 d

我是yocto的新手。我已经创建了一个简单的图层,它由一个简单的wpa_Suplicant补丁文件组成。我想从我自己的层修改wpa_supplicant.conf-sane文件。原始wpa_请求者驻留在不同的层上

wpa-supplicant-bbappend
        ├── wpa-supplicant
        │   └── wiress_info.patch
        └── wpa-supplicant_2.6.bbappend
我已经生成了一个diff文件

 diff -u ../../../poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant.conf-sane wpa-supplicant/wpa_supplicant.conf-sane > wpa-supplicant/wiress_info.patch
这是我的补丁文件:

--- ../../../poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant.conf-sane  2019-04-15 02:47:49.379423777 +0900
+++ wpa-supplicant/wpa_supplicant.conf-sane 2019-04-15 03:03:31.765059417 +0900
@@ -3,5 +3,11 @@
 update_config=1

 network={
-        key_mgmt=NONE
+   key_mgmt=NONE
+   ssid="tanmoyc"
+   psk="asdzxcqwe123"
+   proto=RSN
+   key_mgmt=WPA-PSK
+   pairwise=CCMP
+   auth_alg=OPEN
 }
这是我的wpa-supplicant_2.6.bbappend文件

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI_append = " file://wiress_info.patch "
但是我在yocto的补丁中还是有一些错误

Applying patch wiress_info.patch
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- ../../../poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant.conf-sane 2019-04-15 02:47:49.379423777 +0900
|+++ wpa-supplicant/wpa_supplicant.conf-sane    2019-04-15 03:03:31.765059417 +0900
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
Patch wiress_info.patch does not apply (enforce with -f)
ERROR: wpa-supplicant-2.6-r0 do_patch: Function failed: patch_do_patch

我不知道我做错了什么?请帮助

您的修补程序指定的修补程序源文件错误。因此,消息“没有要修补的文件”

在变量
S
的目录中,使用选项
-p1
(请参阅)应用补丁程序(即未打包的源文件,请参阅)


尽管您可以通过在
SRC_URI
中添加
striplevel
选项来应用该修补程序,但正确的方法是修复修补程序本身。请参阅Nayfe关于devshell的评论,这是一种方便的方法(或者在
diff
命令中修复路径)。

您的修补程序指定的修补程序的源文件错误。因此,消息“没有要修补的文件”

在变量
S
的目录中,使用选项
-p1
(请参阅)应用补丁程序(即未打包的源文件,请参阅)


尽管您可以通过在
SRC_URI
中添加
striplevel
选项来应用该修补程序,但正确的方法是修复修补程序本身。请参阅Nayfe关于devshell的评论,这是一种方便的方法(或者在
diff
命令中修复路径)。

您可以执行
bitbake-c devshell wpa suplicant
在do_patch target之后实例化shell,以便在那里创建补丁。只覆盖整个
wpa_supplicant.conf sane
文件而不是修补它也更容易。感谢您的替代方法,它真的很有用@不,您可以执行
bitbake-cdevshell wpa-supplicant
在dou补丁目标之后实例化一个shell,这样您就可以在那里创建补丁了。只覆盖整个
wpa_supplicant.conf sane
文件而不是修补它也更容易。感谢您的替代方法,它真的很有用@NayfeThanks的完整答案(答案
路径中的小错误
)。感谢您的完整答案(答案
路径中的小错误
)。