Buildroot无法将本地站点方法用于自定义主机包

时间:2013-10-11 06:36:17

标签: buildroot

我已成功使用“本地站点”方法来包含需要构建的项目特定代码,并将其部署到我们的目标平台。

我需要构建/维护一个在主机上运行的工具,该工具的工作是打包内核和文件系统以便部署到设备。我想使用本地站点方法来维护此代码,但我没有太多运气。

在xxxx.mk中,我已指定:

XXXX_SITE_METHOD = local

我正在使用:

$(eval $(host-autotools-package))

但是尝试使用以下内容进行构建:

make host-xxxx

导致buildroot尝试获取一个不存在的tarball(它将使用非主机包的源代码)。

这是受支持的配置吗?

我的xxxx.mk文件的内容是:

XXXX_VERSION= 1.0
XXXX_SITE = $(TOPDIR)/../apps.git/xxxx
XXXX_SITE_METHOD = local
$(eval $(host-autotools-package))

define XXX_EXTRACT_CMDS
        cp -r package/yyyy/xxxx/src/* $(@D)
endef

1 个答案:

答案 0 :(得分:1)

啊,你是对的,有一个错误。以下补丁修复了它。话虽如此,如果您遇到Buildroot问题,您应该在项目邮件列表或项目错误跟踪器上报告它们。对于错误报告,我们不一定非常关注Stack Overflow。

From 9cf6971b5e787375d418c4e34c10a89603e3e6e2 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sat, 12 Oct 2013 12:10:13 +0200
Subject: [PATCH] package: fix 'local' site method for host packages

Using the 'local' site method works just fine for target
packages. However, for host packages, when HOST_<pkg>_SITE is
automatically defined by the package infrastructure to be equal to
<pkg>_SITE, when defining the <pkg>_OVERRIDE_SRCDIR, the $($(2)_SITE)
is empty, due to a missing additional dollar sign.

This patch ensures that the <pkg>_OVERRIDE_SRCDIR gets the correct
value, regardless of whether the HOST_<pkg>_SITE variable has been
defined by the package itself, or inferred by the package
infrastructure using the <pkg>_SITE value.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reported-by: http://stackoverflow.com/questions/19311747/buildroot-cant-use-local-site-method-for-custom-host-packages
---
 package/pkg-generic.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index a46457c..4bba4b5 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -281,7 +281,7 @@ endif

 ifeq ($$($(2)_SITE_METHOD),local)
 ifeq ($$($(2)_OVERRIDE_SRCDIR),)
-$(2)_OVERRIDE_SRCDIR = $($(2)_SITE)
+$(2)_OVERRIDE_SRCDIR = $$($(2)_SITE)
 endif
 endif

-- 
1.8.1.2
相关问题