linux - 包括 Build Root 的补丁

标签 linux patch buildroot

我试图包含我的自定义 helloword 补丁来构建 root。

make menuconfig

我添加了全局补丁目录/home/Downloads/buildroot/buildroot-2017.11/patches

enter image description here

然后我将我的补丁文件放在下面的目录中

(/home/Downloads/buildroot/buildroot-2017.11/patches/packagename/version/patch).

我提到了 this linkthis link

ma​​ke 命令之后,补丁没有应用到我的源目录中,源被从 .tar 文件提取到输出/构建目录。 请提出解决方案..

Config.in

config BR2_PACKAGE_HELLOWORLD
bool "helloworld"
help
  Hello World package says hello world to you
  see http://helloworld.com for more on this software

helloworld.mk

HELLOWORLD_VERSION = 1.0.0
HELLOWORLD_SOURCE = helloworld-1.1.tar.gz
HELLOWORLD_PATCH = 18-helloworld-testing.patch
HELLOWORLD_SITE_METHOD = local

define  HELLOWORLD_BUILD_CMDS
    $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
endef

define  HELLOWORLD_INSTALL_TARGET_CMDS
    $(INSTALL) -D -m 0755 $(@D)/helloworld $(TARGET_DIR)/usr/bin/helloworld

    $(INSTALL) -D -m 0755 $(@D)/helloworld-init $(TARGET_DIR)/etc/init.d/S90helloworld  
endef


$(eval $(generic-package))

最佳答案

对于 local _SITE_METHOD,不应用补丁。 local 是您想要直接从源目录使用文件的时候。使用 local _SITE_METHOD,HELLOWORLD_SITE 中指定的目录将被复制到构建目录,不应用补丁,不使用 _SOURCE。

但是,由于您没有指定 HELLOWORLD_SITE,您触发了一个极端情况,导致它的行为类似于 file _SITE_METHOD(这是您真正想要的) .对于这种情况,Buildroot 应该给出一个错误。 patch is pending为此。

不幸的是,这并不能解释为什么没有应用补丁。

关于linux - 包括 Build Root 的补丁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50364655/

相关文章:

mercurial - 如果您在补丁队列中的单个补丁中更改太多,该怎么办?

linux - 文件系统覆盖中的 buildroot 文件权限未保留

git - 如何将 Git 存储库中可用的包添加到 Buildroot?

linux - 您无权访问/在此服务器上 ubuntu 14.04

linux - 将变量传递到 BASH 函数时出现“未找到命令”,我是否引用错误?

c - 无法在递归中使用fork()?

python - Django 脚本中 'sort' 命令的 subprocess.call() 正在将\M 添加到我的文件末尾

Linux glibc 2.18 及更早版本 - 漏洞

visual-studio - TortoiseSVN 补丁文件应用不正确

java - 无法识别的选项 : -o Could not create the Java virtual machine