RPM中SPEC常用路径以及宏变量

3 篇文章 0 订阅

最近在些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.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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值