构建 RPM 包:强制安装在依赖的重定位包的路径中

building RPM package: force to install in path of a dependent relocated package

我有 2 个依赖包,它们应该放在同一个目标中。包 B 依赖于包 A。

包 A 可以重新定位到任何其他位置。 我现在希望将包 B 强制放置在与包 A 相同的目标中。或者简单地说,如果没有相同的 --prefix,包 B 将无法安装。

有什么想法可以实现吗?

我想放一个 %pre 脚本来检查这个。但我认为这没有帮助,因为我无法阅读此脚本中给定的 "prefix" - 或者我可以吗?

感谢您的帮助!

哈。所以我做了一些源代码潜水,发现显然(至少对于 rpm 4.8.0 我没有看其他版本) RPM_INSTALL_PREFIXRPM_INSTALL_PREFIX# 环境变量设置为 %pre(可能还有其他小脚本)到(看起来是 %{INSTPREFIXES} and/or %{INSTALLPREFIX} 宏的值)。 [source link]

我会在您的 %pre 脚本中尝试这些。他们看起来会给你你想要的。

Same code in rpm head.