确定最合适的从属rpm包

时间:2017-12-11 11:09:51

标签: dependency-management rpm yum

不确定SO是最好的问题,但它与开发有关,所以也许有人可以提供帮助。

我已经编写了一个应用程序(在python中,但这并不重要),它解析了一个Yum repo数据库来整理RPM包及其依赖项。我遇到的问题是,当依赖关系遇到多个包时,我会吮吸太多的包。

具体示例:我正在寻找满足Java-1.8.0依赖性并获得libjli.so()(64位)依赖关系的软件包列表。 libjli.so()(64bit)我的代码正确地证明了这是由Java 1.8,1.7和1.6流中的多个包提供的。不幸的是,所有三个版本(及其依赖项)都会包含在我的列表中。

我想我的问题是,鉴于符合要求的软件包列表,确定最合适的软件包的最佳方法是什么?即,在解析Java-1.8.0的依赖项时,只包括1.8.0的-devel包,而不是在1.6和1.7的-devel包中。

我知道这是我的代码存在问题,我只是不确定yum生态系统提供了哪些工具来帮助我确定哪个包最好包含在多个列表中。

1 个答案:

答案 0 :(得分:0)

  1. 如果没有看到您的代码,很难分辨。

  2. 百胜已死。如果你正在开发新的东西,你应该在DNF之上开发。 DNF使用satsolver算法(https://doc.opensuse.org/projects/satsolver/11.4/index.html),您可以使用libdnf https://github.com/rpm-software-management/libdnf(以前称为libhif,以前称为libhawkey)。