Как переписать optflags direct в rpm spec-файле? - PullRequest
2 голосов
/ 03 мая 2019

Как правильно перезаписать %optflags direct в файле спецификации?

$ rpm --eval %optflags   # Fedora 29
-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection

Мне нужно заменить -O2 на -O в %optflags макросе direct в моем файле спецификации ?Я нашел только одно решение:

%global optflags %(echo %{optflags} | sed 's/-O[0-3]/-O/')

Это правильно?

Примечание rpmbuild -ba --define "optflags -O bla bla" my.spec это не решение для моего случая.

1 Ответ

0 голосов
/ 03 мая 2019

Вы, кажется, уже нашли часть решения.Чтобы проверить, правильно ли это, вы можете временно поместить

echo %optflags

Чтобы напечатать значение один раз в вашем файле спецификации или

%dump

Чтобы вывести все макросы (не уверен, будут ли печататься optflags)вот так)

...