组件构建默认依赖ibmc conan仓问题

构建环境

bingo 0.5.317
hw-ibmc-bmcgo/now 0.5.317

构建现象

使用命令“bingo build”单独构建account组件时提示
ERROR: Version range ‘>=1.60.0’ from requirement ‘libmc4lua/[>=1.60.0]@hw.ibmc.release/rc’ required by ‘account/1.70.22@hw.ibmc.dev/dev’ could not be resolved in local cache

诉求

1 组件构建时默认依赖的openubmc仓
2 如果伙伴搭建了自己的conan仓,组件的依赖可能同时来自于私有仓和openubmc仓,如何指定两个仓库的依赖并完成构建
3 如果伙伴搭建了自己的conan仓,如何指定组件构建后的包提交到私有仓
@wuyupeng

317 版本目前不支持多个 remote 的设置,只能通过 bingo build -r <remote_name> 来指定单个仓。目前的方式可以参考如下两个方案对现状进行解决:

  1. 从 openubmc_dev 下载并 upload 到 your_conan_remote.
  2. 最近在伙伴那里听到了虚拟仓库(Virtual Repository)的办法,可以通过 JFrog Artifacotry 进行聚合多个 conan 仓库的访问入口,不妨进行尝试。
  1. 可以使用虚拟仓
  2. 可以使用如下命令批量下载和同步全部组件到自己的仓库
# 执行一次, 修复社区conan 接口问题
echo $(pip3 show conan |  grep -oP 'Location:\s*\K.*')/conans/client/remote_manager.py | xargs sed -i 's/recipe_hash/recipeHash/g'

conan search '*' -r=openubmc_dev|tail -n +3 > pkg.list;
while read pkg; do
    # 下载包的元数据和所有二进制文件
    conan download "$pkg" -r openubmc_dev
done < pkg.list


conan search '*' |tail -n +3 > local.list;
diff local.list pkg.list > dif.diff
while read pkg; do
    # 上传包及其所有二进制文件
    conan upload "$pkg" -r ibmc_dev --all --confirm
done < pkg.list
3 个赞

目前建议伙伴是用0.5.317版本还是社区的0.5.230版本,0.5.230版本的bingo命令从验证看来是不支持签名的