SPEC文件中的常用路径以及宏变量

来源:互联网 发布:ubuntu 16 安装Unity 编辑:程序博客网 时间:2024/06/16 03:38

利用 rpmbuild 构建 rpm 安装包时

通过命令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://blog.csdn.net/txgc1009/article/details/6833764
http://fedoraproject.org/wiki/Packaging/RPMMacros#RPM_directory_macros


0 0
原创粉丝点击