[转载]RPM中SPEC常用路径以及宏变量
转自:http://blog.csdn.net/txgc1009/article/details/6833764
通过命令rpm --showrc查看实现代码。另外直接通过
rpm --eval "%{macro}"来查看具体对应路径。
比如我们要查看%{_bindir}的路径,就可以使用命令rpm --eval "%{
_bindir}"来查看。
另外,所有的宏都可以在/usr/lib/rpm/macros里找到。
下面是宏对应路径一览表:
Macros mimicking autoconf variables
%{_sysconfdir} /etc %{_prefix} /usr %{_exec_prefix} %{_prefix} %{_bindir} %{_exec_prefix}/bin %{_lib} lib (lib64 on 64bit systems) %{_libdir} %{_exec_prefix}/%{_lib} %{_libexecdir} %{_exec_prefix}/libexec %{_sbindir} %{_exec_prefix}/sbin %{_sharedstatedir} /var/lib %{_datadir} %{_prefix}/share %{_includedir} %{_prefix}/include %{_oldincludedir} /usr/include %{_infodir} /usr/share/info %{_mandir} /usr/share/man %{_localstatedir} /var %{_initddir} %{_sysconfdir}/rc.d/init.d
Note: On releases older than Fedora 10 (and EPEL), %{_initddir}
does not exist. Instead, you should use the deprecated %{_initrddir}
macro.
RPM directory macros
%{_topdir} %{getenv:HOME}/rpmbuild %{_builddir} %{_topdir}/BUILD %{_rpmdir} %{_topdir}/RPMS %{_sourcedir} %{_topdir}/SOURCES %{_specdir} %{_topdir}/SPECS %{_srcrpmdir} %{_topdir}/SRPMS %{_buildrootdir} %{_topdir}/BUILDROOT
Note: On releases older than Fedora 10 (and EPEL), %{_buildrootdir}
does not exist.
Build flags macros
%{_global_cflags} -O2 -g -pipe %{_optflags} %{__global_cflags} -m32 -march=i386 -mtune=pentium4 # if redhat-rpm-config is installed
Other macros
%{_var} /var %{_tmppath} %{_var}/tmp %{_usr} /usr %{_usrsrc} %{_usr}/src %{_docdir} %{_datadir}/doc
Reference:
http://fedoraproject.org/wiki/Packaging/RPMMacros#RPM_directory_macros
勤苦修行得自在,道力有边边亦无边!