如何忽略使用buildrpm

时间:2017-10-25 02:35:21

标签: c++ c makefile rpm rpmbuild

我正在尝试使用buildrpm构建一个包。我的问题是,当make正常运行时,我编译了一个故意易受攻击的C程序,作为使用make check进行测试的主代码(模糊器)的示例。然而,当我尝试构建rpm时,即使没有安装这些易受攻击的程序(因为它们只是测试),rpmbuild -v -bb --clean SPECS/ansvif.spec仍然会强制它用-Werror=format-security编译它,这会使构建失败。有没有一个简单的方法 - 除了尝试重写Makefile.am之外,如果可能的话,它会被buildrpm传递的某个标志省略?我正在寻找一个解决这个问题的合适方案,而不是一些hacky,如果可能的话。

源代码位于https://github.com/oxagast/ansvif

2 个答案:

答案 0 :(得分:0)

您可以尝试" %global _hardened_build 0"在specfile的顶部。

答案 1 :(得分:-1)

还有另外两种选择:

  1. 在运行rpmbuild之前,请导出您自己的C_FLAGS。它可能对您有所帮助,但这取决于您的rpmbuild的设置。

  2. 在rpmbuild中使用--define来声明与builf一起使用的自己的optflags。例如rpmbuild -v -bb --clean --define' optflags -foo -bar -foobar' ansvif.spec

相关问题