【问题标题】:Do I need to edit the .patch files needed for building mdns 878.200.35 in Yocto?我是否需要编辑在 Yocto 中构建 mdns 878.200.35 所需的 .patch 文件?
【发布时间】:2021-02-27 15:18:02
【问题描述】:

此问题来自:
Where can I obtain the mdns.service file needed for building mDNS in Yocto?

查看“mdns 878.200.35”Yocto 配方:
https://layers.openembedded.org/layerindex/recipe/109743/
有两个 .patch 文件链接:
build.patch
0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch .
打开这些链接,他们的页面显示减号和加号 git-view 更改标记,带有粉红色和绿色的三减号和三加号标记以及页眉和页脚文本,看起来它们肯定不属于代码。 StackOverflow 不会 让我在这里输入我的意思。

要在 bitbake 中使用这些,我应该编辑掉那些东西吗?例如,在 build.patch,看来我应该删除标题行:

(StackOverflow 不允许我发布这些;首先它说它们需要被格式化 作为代码,然后它说这是错误的代码。)

以及最后两个页脚行。

(同上)

同时删除以“-”开头的粉红色行并替换“+”号 其余绿线的开头,每个都有一个空格(StackOverflow 允许我在此处输入文字减号和加号)。
并在
中做类似的事情 0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch.
是对的吗?你能按照上面的块吗? StackOverflow 不会让我 将它们格式化为代码块,甚至将它们包含在这篇文章中,这往往 让我觉得它们不应该出现在要在配方中使用的文件中。

我尝试克隆:git://git.openembedded.org/meta-openembedded
并查看下载到我的计算机的两个文件:
根/元网络/recipes-protocols/mdns/files/build.patch
root/meta-networking/recipes-protocols/mdns/files/0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch

它们仍然具有相同的 - 和 + git-view 更改标记、--- 和 +++ 标记以及页眉和页脚文本,它们看起来确实不属于代码。

这些文件真的是按原样使用的,还是我需要像上面描述的那样编辑它们?
现在我在想,既然它们在实际存储库中就是这样,那 Yocto bitbake 可以阅读,跳过非代码页眉和页脚, 应用以 git-view 格式记录的更改。你认为?毕竟,它们是“.patch”文件。 Yocto 真的是一个奇迹,当它起作用时。这是我要尝试的第一件事。

继续!:How do I strip and objcopy a built .so file in the Yocto bitbake compile step?

【问题讨论】:

  • 补丁应用不干净吗? git-view 和什么有什么关系?据推测,如果不将补丁应用于 mdns 源,项目将无法构建。你想从源头重建 mdns 吗?为什么?
  • @Elliott Frisch - 我还没有尝试这个配方,因为我查看了 .patch 文件的内容,并且由于描述的原因,如我的帖子中所述,我非常紧张。 git-view 的内容让我很紧张;因此这篇文章。就像我发布的那样,也许我应该继续尝试。我确实想从源代码重建 mdns,因为我需要在我的系统中使用它,并且它会节省生产步骤,只需将它放在那里,而不是为每个生产的设备重新安装它。有没有更好的办法?
  • patch 是一个实用程序。 patch 实用程序解释您发现的相关领域。另见howtogeek.com/415442/…
  • @Elliott Frisch - 我开始猜到了。感谢您的链接。我对 Linux 比较陌生。

标签: linux yocto mdns nxp-microcontroller


【解决方案1】:

只需下载普通文件并将它们放入您的层中。

这些文件是绝对有效的补丁,否则它们一开始就不会在上游层。

第一个--- 之前的内容是git 应用补丁时创建的git 提交的提交标题(第一行)和提交日志。

+++ 和第二个--- 用于标识应用补丁的文件。最后的-- 只是告诉git 工具忽略后面的内容,这是用于创建所述补丁的git 的版本号(带有git format-patch)。

【讨论】:

  • 感谢您的保证和信息。我暂时赞成您的回答,但由于我的代表低于 15,因此我的赞成票未显示。
猜你喜欢
  • 1970-01-01
  • 2021-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-20
  • 1970-01-01
  • 2013-07-23
  • 2016-06-01
相关资源
最近更新 更多