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
阅读(1797) | 评论(0) | 转发(0) |