2017-08-22 856 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