如何解决将补丁应用到buildroot目录之外的软件包
我正在尝试对不在buildroot/package
内但在其他地方的软件包应用补丁。
我已将以下内容添加到我的buildroot .config中
BR2_GLOBAL_PATCH_DIR="absolute/path/to/folder"
该文件夹是正确的,因为如果路径不正确,buildroot将会出错。因此目录的路径很好。
使用说明here和here。我已经添加了一个名称与软件包匹配的子目录,并将补丁添加到该子目录中,但是没有任何反应。
buildroot从不输出,而是试图应用补丁,这使我相信buildroot甚至没有在BR2_GLOBAL_PATCH_DIR
中查看,也没有在apply-patches.sh
中调用buildroot/support/scripts/
。
为什么buildroot不尝试将补丁应用到我的软件包?
解决方法
Buildroot仅将修补程序应用于具有已下载源代码的软件包。换句话说,它不会将修补程序应用于使用FOO_SITE_METHOD = local
或FOO_OVERRIDE_SRCDIR = /path/to/foo
在本地获取的软件包。
如果您看到这样的输出:
>>> foo custom Syncing from source dir /path/to/foo
您处于这种情况。
-编辑-
在这种情况下,Buildroot不支持应用补丁。但是,您可以使用以下方法解决此问题:
define FOO_APPLY_PATCHES
$(APPLY_PATCHES) $(@D) $(addsuffix /$(RAWNAME),$(call qstrip,$(BR2_GLOBAL_PATCH_DIR))) \*.patch
endef
FOO_POST_RSYNC_HOOKS += FOO_APPLY_PATCHES
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。