我已成功使用“本地站点”方法来包含需要构建的项目特定代码,并将其部署到我们的目标平台。
我需要构建/维护一个在主机上运行的工具,该工具的工作是打包内核和文件系统以便部署到设备。我想使用本地站点方法来维护此代码,但我没有太多运气。
在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
答案 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