【问题标题】:How do I extend someone else's repo manifest?如何扩展其他人的回购清单?
【发布时间】:2017-07-20 01:47:20
【问题描述】:

在我的项目中,我想为汽车级 Linux 发行版采用现有的 Yocto 设置,并为我们自己的组件添加一些带有配方的层。

their gerrit site 上存在一个公开可用的清单文件。我想做的基本上是

<manifest>
    <include url="<url of AGL manifest>" />
    <remote name="mysite" fetch="ssh://gerrit.mysite.com" />
    <project name="mylayer1" path="mylayer1" />
    <project name="mylayer2" path="mylayer2" />
</manifest>

目标是指向我的清单的repo init 命令首先获取“包含”清单中提到的所有存储库,然后继续获取我自己的所有元层。

问题在于include 元素用于在repo init 命令行上指定的同一存储库中包含其他清单。

可以简单地将他们的清单复制到我自己的存储库中,使用不同的名称,并在旁边创建我自己的清单。或者我可以复制他们的文件并进行编辑。

但是维护它会很痛苦并且极易出错。特别是上游清单不仅用于指定存储库,还用于将每个存储库固定到特定的提交,作为 Yocto 中的一种版本控制。

我不敢相信如此明显的用例没有得到考虑和解决。

那么,冒着被“过于宽泛”或请求建议而被关闭的风险,有没有人已经解决了这个问题?如果有,怎么做?

【问题讨论】:

  • 您找到解决方案了吗?似乎仍然没有干净的方法可以做到这一点。 local_manifests 似乎并没有真正做到我想要的,也许我需要继续调查。
  • @user_ABCD 没有 - 从来没有

标签: yocto repo openembedded


【解决方案1】:

我非常怀疑是否有办法使用 repo 工具来做到这一点。

Wind River 有一个解决方案,并且有人说将其转移到 oecore:

https://github.com/Wind-River/wr-lx-setup

我不确定这是否会完全符合您的要求,但它可以解决您所描述的问题。

从历史上看,人们使用过 repo (freescale-community-bsp)、combo-layers (Ostro),或者只是推出了自己的解决方案。此设置工具旨在标准化层的组装方式。

【讨论】:

    【解决方案2】:

    您可以使用 local_manifest.xml。在 .repo/ 下创建一个名为 local_manifests/ 的目录。您可以添加一个文件 local_manifest.xml

    您可以添加自己的远程、默认和要从该远程获取的项目。

    我在 repo 1.23 中使用了这个功能

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 2019-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多