如何抑制BitBake中‘refers to relative ssh reference’警告?
抑制BitBake gitsm子模块相对路径警告的方法
问题背景
我有一个用于从Git仓库获取源代码的应用配方,该仓库包含子模块。为了获取包含子模块的源代码,我使用以下SRC_URI(使用gitsm而非git):
SRC_URI += "gitsm://<repo address>;protocol=ssh;branch=development"
编译该配方时,出现如下警告:
WARNING: <recipe name>-1.0+gitAUTOINC+60c254fbd3-r0 do_fetch: Submodule included by gitsm://<repo address>;protocol=ssh;branch=development refers to relative ssh reference <submodule address>. References may fail if not absolute
请问如何抑制该警告?
附加环境信息:
- BitBake 2.4.0
- Poky 4.2 Mickledore
- Ubuntu 22.04
解决方法
方法1:修正子模块的绝对路径(推荐)
从根源解决问题,将仓库中子模块的引用改为绝对SSH路径。在本地仓库根目录执行:
git submodule set-url <子模块本地路径> git@<主机域名/IP>:<远程仓库路径>.git
提交并推送这个修改到远程仓库后,后续构建将不再触发该警告。
方法2:在配方中单独抑制警告
如果无法修改上游仓库配置,可在配方文件中添加以下配置,移除对子模块相对路径的警告检查:
WARN_QA_remove = "submodule-relative-path"
方法3:全局抑制该类警告
若需要所有配方都屏蔽这类警告,可在build/conf/local.conf中添加:
WARN_QA_remove_global = "submodule-relative-path"
内容的提问来源于stack exchange,提问作者Caglayan Dokme
相关产品推荐
相关产品推荐

