我还应该声明其他共享对象需要依赖吗?

时间:2016-01-22 01:54:22

标签: rpm rpmbuild

RPM的一个有趣特性是它将查看共享对象,找出它们链接的内容,找出哪些包提供了这些链接的共享库,并自动安装这些依赖库作为安装的一部分。已编译的共享库。

例如,如果libnaftuli与libbz2链接,则rpm-build将指定libnaftuli RPM中的依赖项,而不必在我的.spec文件中声明它。

我还应该在我的spec文件中声明这些依赖项吗?我想我应该声明模糊的依赖关系,但是否则我还应该手动找出我的库链接并指定它们的require子句,或者只是让rpm-build变得聪明?

2 个答案:

答案 0 :(得分:1)

rpmbuild添加的自动依赖项很有帮助,但它们并不能完成所有操作。明确的Requires标记可以执行以下额外操作:

  • 告诉rpm可以安装包含给定依赖项的特定版本(包括一系列版本)的包。
  • 告诉rpm该软件包依赖于虚拟软件包,例如,提供“相同”功能但名称不同的软件包(例如说 any Java包)。

进一步阅读:

答案 1 :(得分:1)

如果你需要一些其他软件包 ,因为你需要rpm为你计算出来,那么没有任何理由没有任何理由自己手动列出软件包。

但是,如果您因某些其他原因(非库文件等)依赖于该程序包,或者对程序包具有特定的版本控制要求(通常应该为您处理库版本控制)你不应该)然后自己添加它是有道理的。

您有要求的任何其他软件包,rpm不会提取,显然应明确列出。