如何设置Yocto配方以从本地git源代码构建?

17

我正在玩弄Yocto、树莓派和一些我编写的代码。现在我想让Yocto构建一个包括我编写的程序的镜像。我想知道如何设置获取器以从本地git存储库获取。

我的设置很简单。代码在目录中:

/home/user/git/myTest

我将该目录链接到Yocto meta-layer的配方目录中。

/home/user/poky/meta-test/myApp/myTest
因为这是一个本地的git仓库,所以有一个“.git”文件夹。
/home/user/git/myTest/.git

还有更多文件:

/home/user/git/myTest/CMakeLists.txt
/home/user/git/myTest/src/main.cpp
/home/user/git/myTest/src/...

我想知道如何设置我的配方以使用git fetcher:

SUMMARY = "test"
SECTION = "app"
LICENSE = "CLOSED"

inherit cmake

SRCREV = "${AUTOREV}"

SRC_URI = "git://.git"

S = "${WORKDIR}/git"

我查看了Yocto/Bitbake的文档,但没有找到如何做的示例。你有任何想法吗?

2个回答

29

bitbake中的GIT Fetcher支持不同协议, 但其语法相当奇特且非标准化。在您的情况下,应该是这样的

SRC_URI = "git:///home/user/git/myTest/;protocol=file"

1
当我尝试使用SRC_URI = "file:///home/user/git/myTest/;protocol=file"时,这种非标准语法让我感到非常困惑。 - remcycles
但是在阅读文档中的“4.3.6.其他获取器”后,我想现在它有意义了。谢谢! - remcycles
1
所有其他程序(例如npmpip)使用不同的语法,如git+https://gitlab.com/…,因此它们可以轻松切换“获取器”(VCS)和协议。这就是为什么我抱怨奇怪和非标准的语法。 - phd

-3

就像下面这样,您可以从本地访问:

SRC_URI = "git:///home/path.git; file:defconfig"

它将访问相应的本地文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接