yocto - yocto 自定义收据的 bbappend 修补错误
问题描述
我是 yocto 的新手。我创建了一个简单的层,它包含一个简单的 wpa_supplicant 补丁文件。我想从我自己的层修改 wpa_supplicant.conf-sane 文件。原始 wpa_supplicant 位于不同的层
wpa-supplicant-bbappend
├── wpa-supplicant
│ └── wiress_info.patch
└── wpa-supplicant_2.6.bbappend
我已经生成了一个差异文件
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
我无法弄清楚我在做什么错?请帮忙
解决方案
您的补丁有错误的源文件来指定补丁。因此消息“没有要修补的文件。”。
补丁通过变量(即解压缩的源文件,请参阅doc中的补丁)中的选项-p1
(参见doc 中的补丁代码)应用。S
尽管您可以通过在 中添加striplevel
选项来应用该补丁SRC_URI
,但正确的方法是修复补丁本身。请参阅 Nayfe 关于 devshell 的评论,这是一种方便的方法(或在您的diff
命令中修复路径)。