如何在spec文件中覆盖CONFIG_SITE(最佳实践)

时间:2011-05-26 15:05:43

标签: linux autoconf rpm specfiles

如果尝试从specfile构建rpm的用户在运行rpmbuild时在环境中设置了CONFIG_SITE,并且specfile使用“./configure --prefix = / usr&& make”构建,那么用户的设置在CONFIG_SITE中可以完全破坏构建。 (作为一个具体的例子,假设/usr/share/config.site有“prefix = / bar”行。那么spec文件的文件清单将完全错误,rpmbuild将失败。)

处理此问题的最佳做法是什么?似乎通常的做法是忽略它。我决定在specfile中设置CONFIG_SITE = true:

CONFIG_SITE=true ./configure --prefix=/usr ...

在调用rpmbuild时假设一个原始环境更常见,并且在/usr/share/config.site中没有像重置前缀那样的愚蠢吗?或者维护者是否负责确保spec文件按预期构建rpm?

1 个答案:

答案 0 :(得分:1)

我认为如果用户设置了一个愚蠢的config.site文件,那就是他们自己的错。除了这个之外,还有无数其他方法可以削弱系统;我不担心。我从未见过担心这个问题的rpm或deb构建脚本。所以这可能是你的“最佳实践”。

偶尔会看到一个包带来了自己的config.site文件,但通常由打包器提供,以覆盖原始包中可能会破坏的配置检查。