2017-08-22 842 views
1

我目前正在使用Yocto Pyro并撰写配方来构建我的软件。我使用“android回购”来管理来自不同git存储库的源代码。Yocto完全支持在配方的SRC_URI中使用“repo://”

而且从Yocto文档,我发现有2个解决方案,以支持多个存储库中SRC_URI:在SRC_URI 2.使用 1.使用多个git仓库“回购://”在SRC_URI

我去通过元开放式和口袋式的所有食谱,只有选项1可以在现有的食谱中找到(例如dvb-apps_1.1.1.bb)。

我想为我的配方使用“repo://”,并发现以下问题: “回购”命令在Yocto中不可用,并且无法使用主机“回购”命令。

要解决这个问题,我延长base.bbclass支持 “回购://”(通过添加以下): elif scheme == "repo": d.appendVarFlag('do_fetch', 'depends', ' repo-native:do_populate_sysroot')

,并添加以下到我的local.conf: ASSUME_PROVIDED += "repo-native" HOSTTOOLS += "repo"

然后我遇到了问题,当清单库更改时,它不会触发重新生成我的配方。 [repo.py](http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/bitbake/lib/bb/fetch2/repo.py?h=pyro)不支持SRCREV,SRCPV之类的东西。

任何人都可以帮忙吗?先谢谢你。

+1

不是一个明显的改变是重建的好理由吗?或者你是否试图追随非主回购分公司?关于回购似乎不被使用:这是真的,收件人多年来没有任何(不贬低)提交... – jku

+1

@jku,对不起,我在描述中犯了一个大错误,我要说“它不会触发”。我已更正说明。 – BenKwan

+0

看到你如何扩展base.bbclass会很有趣 – urnenfeld

回答

0

你可以通过设置SRCREV点了头,但在狭小的回购实施是像修复行为:

def supports_srcrev(self): 
    return False 

我没有看到其他的选项不是强迫取任务,如:

bitbake recipe -c fetch -f