Как игнорировать флаги компилятора, автоматически добавленные с buildrpm

Я пытаюсь собрать пакет с помощью buildrpm. Моя проблема в том, что у меня есть намеренно уязвимая программа на C, скомпилированная make обычно запускается в качестве примера для основного кода (фаззера), который будет тестироваться с make check, Однако, когда я пытаюсь собрать rpm, хотя эти уязвимые программы не установлены (так как они просто тесты), rpmbuild -v -bb --clean SPECS/ansvif.spec все равно заставит его скомпилировать -Werror=format-security что делает сборку неудачной. Есть ли простой способ обойти это — кроме попытки переписать Makefile.am, чтобы он опускался с определенным флагом, передаваемым buildrpm, если это возможно? Я ищу правильное решение этой проблемы, а не что-то хакерское, если это возможно.

Исходный код находится на https://github.com/oxagast/ansvif

-1

Решение

Ты можешь попробовать «%global _hardened_build 0«к вершине вашего specfile.

0

Другие решения

На ум приходят два других варианта:

  1. Перед запуском rpmbuild экспортируйте свои собственные C_FLAGS. Это может помочь вам, но это зависит от настроек вашего rpmbuild.

  2. Используйте —define с rpmbuild, чтобы объявить свои собственные optflags, используемые с buildf. Например, rpmbuild -v -bb —clean —define ‘optflags -foo -bar -foobar’ ansvif.spec

-1

По вопросам рекламы [email protected]