2

与这个问题类似(“如何使用不同的编译器自动重建包?”在 askubuntu.com 上),我想知道如何使用特定的 Fedora 构建脚本自动获取源代码和编译 C 程序,非默认编译器 - 就我而言afl-gcc。我肯定会欢迎该pv程序的示例,但我希望该解决方案也适用于其他软件包,例如libreoffice,只需进行最少的修改。我想实现类似于aflize的东西(目前仅适用于 Debian)。我听说过模拟,如果我能用它来做那将是最好的。

4

1 回答 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

设置CCvar 您相应的编译器将完成这项工作。

如果你使用cmake看看CMAKE_C_COMPILER

  • 重建

    $ cd ~/rpmbuild/SPECS/

    $ rpmbuild -ba foo.spec

生成的 rpm 文件位于~/rpmbuild/RPMS

于 2015-09-21T12:14:38.680 回答