如何正确覆盖%optflags
直接在规范文件中?
$ 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
宏直接在我的 规范文件 ?我只找到了一个解决方案:%global optflags %(echo %{optflags} | sed 's/-O[0-3]/-O/')
它是正确的 ?
备注
rpmbuild -ba --define "optflags -O bla bla" my.spec
这不是我的情况的解决方案。
最佳答案
您似乎已经找到了部分解决方案。要检查它是否正确,您可以暂时放置
echo %optflags
在规范文件中打印一次值或
%dump
转储所有宏(不确定 optflags 是否会以这种方式打印)
关于rpm - 如何直接在 rpm 规范文件中覆盖 optflags?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55974217/