Buildroot修补程序是否不适用于覆盖的软件包?

Blu*_*zee 1 patch linux-kernel buildroot

我在Buildroot(2017.02版)中打补丁,但是当我覆盖包中的包源时local.mk

PACKAGENAME_OVERRIDE_SRCDIR = /...path_to_local_checkout
Run Code Online (Sandbox Code Playgroud)

我看到Buildroot修补程序应用于此软件包。

仅当未在local.mk中覆盖该程序包时,才应用它们。

这是预期的行为吗?


笔记:

  • 我在Buildroot手册中找不到我的问题的答案:https ://buildroot.org/downloads/manual/manual.html#patch-apply-order
  • 我正在测试的软件包是Linux内核,但我想它是无关的。
  • 我将补丁放入了全局补丁目录 board/company_name/common/patches/...

Tho*_*oni 5

是的,这是预期的行为。如果使用<pkg>_OVERRIDE_SRCDIR,则软件包的源树在本地可用,因此应将修补程序应用于源树。Buildroot无法知道您使用的是哪个版本的软件包,因此它所包含的修补程序package/<pkg>可能不适用,这就是为什么行为如您所见,未将修补程序应用于覆盖的软件包。

本质上,常规软件包的流程是:下载->提取->补丁->配置->构建->安装。

覆盖软件包的流程是:rsync-> configure-> build-> install。