与这个问题类似(“如何使用不同的编译器自动重建包?”在 askubuntu.com 上),我想知道如何使用特定的 Fedora 构建脚本自动获取源代码和编译 C 程序,非默认编译器 - 就我而言afl-gcc
。我肯定会欢迎该pv
程序的示例,但我希望该解决方案也适用于其他软件包,例如libreoffice
,只需进行最少的修改。我想实现类似于aflize的东西(目前仅适用于 Debian)。我听说过模拟,如果我能用它来做那将是最好的。
1 回答
3
我不知道自动执行,但手动执行:
准备构建环境
$ rpmdev-setuptree
下载相应的 srpm
$ yumdownloader --source foo
从 SRPMS 中提取文件
$ rpm -i foo*.src.rpm
替换使用的编译器
$ sed -i 's/make all/make CC=afl-gcc all/g' ~/rpmbuild/SPECS/foo.spec
设置CC
var 您相应的编译器将完成这项工作。
如果你使用cmake
看看CMAKE_C_COMPILER
重建
$ cd ~/rpmbuild/SPECS/
$ rpmbuild -ba foo.spec
生成的 rpm 文件位于~/rpmbuild/RPMS
于 2015-09-21T12:14:38.680 回答