RPM中SPEC常用路径以及宏变量
最近在些SPEC,发现其中的宏路径太难记了,GOOGLE一下,发现FERDORA已经有介绍了。可以通过命令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.dNote: 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}/BUILDROOTNote: 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
页:
[1]