12

我正在制作一个嵌入式 Linux 系统,我想将“ bluez ”包(和蓝牙实用程序)添加到 Buildroot 环境的包中。

不幸的是,tar 球似乎不可用,但源代码可从 Git 存储库获得,但我不确定如何将其包含在 .mk 文件中。

我可以这样做吗?如果可以,该怎么做?

4

3 回答 3

20

Buildroot 已经有一个bluez包,它将成为即将发布的 2011.11 版本的一部分。同时,您可以使用最新的 Git 版本的 Buildroot,或者将 bluez 包反向移植到旧版本的 Buildroot 中。

回到最初的问题,Buildroot 能够从 Git 存储库中获取源代码。如文档中所述,您只需执行以下操作:

MYPKG_VERSION = some_commit_id_or_tag_or_branch_name
MYPKG_SITE = git://thegitrepository
MYPKG_SITE_METHOD = git

在你的.mk文件中。

于 2011-11-05T13:01:13.260 回答
1

看起来该bluez软件包的 tarball 已经可用。谷歌搜索“bluez”会产生http://www.bluez.org/download/,它有几个 tarball 的链接。

如果出于某种原因您真的想要 Git 存储库中的代码,您可以制作存储库的本地克隆,然后使用该git archive命令创建一个 tarball。有关git archive --help文档,请参阅。

根据您的需要,您也可以直接从存储库的本地副本构建(而不是创建一个 tarball 以在后面的步骤中再次解压缩它)。

于 2011-11-05T00:53:11.933 回答
1

最小的工作在树 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 = gitgit:从上推断SITE

git submodule + *_OVERRIDE_SRCDIRfor git forks

如果您要修改存储库的源,我推荐这种方法:如何修改 Buildroot 包的源以进行包开发?

于 2018-03-02T08:55:23.123 回答