我已经花了大约3小时了。 如何在rpm构build过程中覆盖macros? 我想覆盖_sbindir(/ usr / sbin)到/ opt / sbin我编辑了rpmmacros文件系统和本地用户文件似乎没有任何工作。 我正在使用Fedora 12。
不要试图覆盖_foomacros。 但是,如果你真的必须,把它添加到你的spec文件的顶部。
%define _sbindir /foo
你有没有尝试从rpmbuild命令行定义它? --showrc开关显示了定义各种macros的“级别”。 如果在多个地方定义了一个层次结构,其中-8(命令行)胜过-14(磁盘,即〜/ .rpmmacros文件)。
$ rpmbuild --showrc | grep ' _sbindir' -14: _sbindir %{_exec_prefix}/sbin %global _sbindir %{_exec_prefix}/sbin $ rpmbuild --define "_sbindir wtf" --showrc | grep ' _sbindir' -8: _sbindir wtf %global _sbindir %{_exec_prefix}/sbin
FWIW,在CentOD-6主机上, %global是在/etc/rpm/macros.scl文件中定义的。