如何找到 rpm 编译时使用的选项

Cia*_*ian 13 rpm

我需要找到 fedora 11 打包的 exim 的编译选项。更一般地说,有没有一种简单的方法可以找到特定 rpm 的编译选项?

knw*_*iss 14

好吧,您可以做的最接近的事情(我知道)是查询OPTFLAGSexim 包的变量:

 [root@fedora11 ~]# rpm -q --queryformat="%{NAME}: %{OPTFLAGS}\n" exim
 exim: -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
 --param=ssp-buffer-size=4 -m64 -mtune=generic
 [root@fedora11 ~]#
Run Code Online (Sandbox Code Playgroud)

但是,如果您下载 exim 的源 rpm(rpm -qivp exim*.rpm在“ Source RPM”标签中显示文件名)并使用“ rpm -i exim-4.69-10.fc11.src.rpm”安装它,您会得到更好的答案。然后查看目录中的 exim.spec文件/usr/src/redhat/SPECS/(如果您以 root 身份执行此操作;此位置可能会有所不同)并查看它的配置和构建方式。例如,您还可以在那里找到configure指定的选项。

(您也可以使用rpm2cpio exim-4.69-10.fc11.src.rpm | cpio -id将 src rpm 的内容(包括.spec文件)解压到当前目录而不是安装它。)