我正在制作一个嵌入式Linux系统,想要将'bluez'包(和蓝牙工具)添加到Buildroot环境的软件包中。
不幸的是,tar文件似乎无法获取,但源代码可从Git仓库获取,但我不确定如何在.mk文件中包含它。
我能做到吗?如果可以,怎么做?
Buildroot已经有一个bluez包,这将是即将发布的2011.11版本的一部分。同时,您可以使用最新版本的Buildroot Git,或将bluez包移植到早期版本的Buildroot。
回到最初的问题,Buildroot能够从Git存储库中获取源代码。正如文档中所述,您只需要执行:
MYPKG_VERSION = some_commit_id_or_tag_or_branch_name
MYPKG_SITE = git://thegitrepository
MYPKG_SITE_METHOD = git
在你的.mk
文件中。
FOO_SITE = $(call github,<user>,<repo>,$(FOO_VERSION)
。 - Mixaz最小工作树示例 2016.05
https://github.com/cirosantilli/buildroot/tree/git-package-2016.05
唯一有趣的文件是package/hello/Config.in
:
HELLO_VERSION = branch2
HELLO_SITE = git://github.com/cirosantilli/hello-c.git
define HELLO_BUILD_CMDS
$(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D)
endef
define HELLO_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/hello $(TARGET_DIR)/usr/bin
endef
$(eval $(generic-package))
它可以下载和构建:https://github.com/cirosantilli/hello-c
MYPKG_SITE_METHOD = git
是从SITE
上的git:
推断出来的。
git子模块+ *_OVERRIDE_SRCDIR
用于git分支
如果您要修改存储库的源代码,我建议使用此方法:如何修改Buildroot软件包的源代码以进行软件包开发?
看起来已经有bluez
包的tarballs可用。 在Google搜索"bluez"会得到http://www.bluez.org/download/,其中有几个tarballs的链接。
如果出于某种原因您真的想要Git存储库中的代码,可以创建存储库的本地克隆,然后使用git archive
命令创建一个tarball。请参见git archive --help
以获取文档。
根据您的需求,您还可以直接从存储库的本地副本构建(而不是仅创建一个tarball,以便在稍后的步骤中再次解压缩它)。