【问题标题】:bbappend patching error for yocto custom receipeyocto 自定义收据的 bbappend 修补错误
【发布时间】:2019-04-16 00:31:51
【问题描述】:

我是 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

我无法弄清楚我在做什么错?请帮忙

【问题讨论】:

  • 你可以在 do_patch 目标之后执行bitbake -c devshell wpa-supplicant 来实例化一个shell,这样你就可以在那里创建你的补丁。覆盖整个 wpa_supplicant.conf-sane 文件而不是修补它也更容易。
  • 感谢您提供的替代方法,它真的很有帮助。 @Nayfe

标签: yocto


【解决方案1】:

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

补丁通过选项-p1(请参阅Patching Code in doc)应用在变量S(即解压缩的源文件,请参阅Patching in doc)的目录中。

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

【讨论】:

  • 感谢您的完整回答(回答 Pathcing 中的小错字)。
猜你喜欢
  • 1970-01-01
  • 2020-09-30
  • 2020-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-11
  • 2018-11-21
  • 1970-01-01
相关资源
最近更新 更多