我尝试将自定义helloword补丁包含在构建root中。
in
make menuconfig
我添加了全局修补程序目录/home/Downloads/buildroot/buildroot-2017.11/patches
我将补丁文件放在下面的目录
中(/家/下载/ buildroot的/ buildroot的-2017.11 /贴剂/包/版本/补丁)。
在 make 命令后,修补程序未在我的源目录中应用,源将从.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))
答案 0 :(得分:0)
使用local
_SITE_METHOD,不会应用修补程序。 local
是您希望直接从其源目录使用这些文件的时间。使用local
_SITE_METHOD,HELLOWORLD_SITE
中指定的目录将被复制到构建目录,不应用补丁,不使用_SOURCE。
但是,由于您没有指定HELLOWORLD_SITE
,因此触发了一个极端情况,使其行为类似于file
_SITE_METHOD(这是您真正想要的那个)。 Buildroot应该为这种情况提供错误。这是patch is pending。
不幸的是,这并不能解释为什么修补程序无法应用。