【发布时间】:2015-04-05 13:54:29
【问题描述】:
我有 2 个依赖包应该放在同一个目标中。包 B 依赖于包 A。
包 A 可以重新定位到任何其他位置。 我现在希望包 B 被强制放置在与包 A 相同的目标中。或者简单地说,如果没有相同的 --prefix,包 B 应该无法安装。
任何想法如何实现这一点?
我想放一个 %pre 脚本来检查这个。但我认为这没有帮助,因为我无法阅读此脚本中给定的“前缀” - 或者我可以吗?
感谢您的帮助!
【问题讨论】:
-
您知道一种方法来查询软件包的安装前缀吗?我不会随便(但我从未尝试过)。话虽如此,如果您可以检查 your 前缀是否有您依赖的文件,则无需这样做。 (实际上我想知道文件先决条件是否会受到给定前缀的影响。)
-
是的,就是
rpm -qa --queryformat '%{instprefixes}' NAME_OF_PACKAGE -
有趣。那么关于获取 current 包的前缀的问题是什么?
%{DEFAULTPREFIX}或%{INSTALLPREFIX}是否根据参数在%pre中正确展开? -
不,它们不会被扩展。是的,获取当前包(包 B)的前缀就足够了