【问题标题】:Package updating another package from another repository包从另一个存储库更新另一个包
【发布时间】:2011-11-22 19:16:43
【问题描述】:

我创建了存储我自己的包的存储库。 系统使用我的和其他一些公共存储库。

所以现在我的 repo 中有一个包,我想将它作为来自另一个存储库的其他包的更新。

存储库是基于 rpm 包的。

通常可以标记我自己的包来更新另一个包吗?

【问题讨论】:

  • 我相信 yum 会平等对待所有存储库,如果一个存储库中有更新版本的包,但您需要另一个存储库的中间包,它会知道下载每个存储库。那么问题就变成了 yum 是否必须关心两个包的签名/

标签: repository package rpm yum rpmbuild


【解决方案1】:

(我会在之前的答案中发表评论,但它太长了。)

使用相同的包名而只是碰撞版本号会出现问题。

最终,原始软件包的版本号可能会超过您正在使用的版本,在这种情况下,有人可能会进行 yum 更新并最终升级回原始软件包。

为避免此问题,您可以稍微更改包名称,并将一些 Obsoletes 和 Conflicts 依赖项添加到您的规范文件中。 Obsoletes 依赖项允许将原始包升级到您的包,而 Conflicts 阻止原始包与您的包同时安装。

这应该可以防止上游版本的冲突破坏您的更改。

http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-dependencies.html

【讨论】:

    【解决方案2】:

    要回答我自己的问题,是的,yum 平等对待所有存储库。所以我需要做的就是将包名称设置为相同并增加版本号。

    要对其进行测试,您只需创建一个 yum 存储库并设置 yum 以使用您的存储库以获取更多信息,请查看 here

    【讨论】:

      猜你喜欢
      • 2013-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多