将补丁应用于 buildroot 目录之外的包
Applying patch to a package outside of buildroot directory
我正在尝试将补丁应用于不在 buildroot/package
内但在其他地方的软件包。
我已将以下内容添加到我的 buildroot .config 中
BR2_GLOBAL_PATCH_DIR="absolute/path/to/folder"
文件夹正确,因为如果路径不正确,buildroot 会出错。所以目录的路径就好了。
使用说明 here and here。我添加了一个名称与包匹配的子目录,并将补丁添加到该子目录,但没有任何反应。
Buildroot 从不输出它正在尝试应用补丁,这让我相信 buildroot 甚至没有查看 BR2_GLOBAL_PATCH_DIR
或调用 buildroot/support/scripts/
中的 apply-patches.sh
。
为什么 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
我正在尝试将补丁应用于不在 buildroot/package
内但在其他地方的软件包。
我已将以下内容添加到我的 buildroot .config 中
BR2_GLOBAL_PATCH_DIR="absolute/path/to/folder"
文件夹正确,因为如果路径不正确,buildroot 会出错。所以目录的路径就好了。
使用说明 here and here。我添加了一个名称与包匹配的子目录,并将补丁添加到该子目录,但没有任何反应。
Buildroot 从不输出它正在尝试应用补丁,这让我相信 buildroot 甚至没有查看 BR2_GLOBAL_PATCH_DIR
或调用 buildroot/support/scripts/
中的 apply-patches.sh
。
为什么 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