Chinaunix首页 | 论坛 | 博客
  • 博客访问: 323876
  • 博文数量: 103
  • 博客积分: 1590
  • 博客等级: 上尉
  • 技术积分: 1075
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-02 10:17
文章分类

全部博文(103)

文章存档

2013年(32)

2012年(7)

2010年(64)

我的朋友

分类: LINUX

2013-06-08 17:43:07

rpmmacros

参考:

RPM directory macros

The macros are usually used with rpmbuild --define to specify which directories rpmbuild should use, it is unusual to use them within SPEC files.

%{_topdir}            %{getenv:HOME}/rpmbuild
%{_builddir}          %{_topdir}/BUILD
%{_rpmdir}            %{_topdir}/RPMS
%{_sourcedir}         %{_topdir}/SOURCES
%{_specdir}           %{_topdir}/SPECS
%{_srcrpmdir}         %{_topdir}/SRPMS
%{_buildrootdir}      %{_topdir}/BUILDROOT

命令rpm --showrc查看实现代码。另外直接通过 rpm --eval "%{macro}"来查看具体对应路径。

比如我们要查看%{_bindir}的路径,就可以使用命令rpm --eval "%{ _bindir}"来查看。另外,所有的宏都可以在/usr/lib/rpm/macros里找到。

标准配置的/usr/lib/rpm/rpmrc文件中,有这样一行:

macrofiles: /usr/lib/rpm/

根据rpmrc中的文件顺序,~/.rpmmacros肯定会替换掉/usr/lib/rpm/macros的。

若要修改安装包的路径:

一、在自己喜欢的目录下面,mkdir -p rpm/{BUILD,i686,SOURCES,SPEC,SRPMS}。

二、建立~/.rpmmacros,赋%_topdir为自己刚才建立的根目录,OK了。

#
# Begin Our Macros Define.
#

# %_signature             gpg
# %_gpg_path              ~/.gnupg
# %_gpg_name              SinaSRV-1 Key
# %_gpgbin                /usr/bin/gpg

%_usr /usr
%_var /var

%_name_prefix           sinasrv2
%_rpmbuild              %(dirname `pwd`)

%_builddir              %{_rpmbuild}/BUILD
%_rpmdir                %{_rpmbuild}/RPMS
%_sourcedir             %{_rpmbuild}/SOURCES
%_specdir               %{_rpmbuild}/SPECS
%_srcrpmdir             %{_rpmbuild}/SRPMS

%_tmppath               %{_var}/tmp
%_prefix                /usr/local/%{_name_prefix}

%_exec_prefix           %{_prefix}
%_bindir                %{_exec_prefix}/bin
%_sbindir               %{_exec_prefix}/sbin
%_libexecdir            %{_exec_prefix}/libexec
%_sysconfdir            %{_prefix}/etc
%_localstatedir         %{_prefix}/var


阅读(1789) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~