RPM包SPEC文件的执行顺序 以及 传递的值问题:
这里是在安装期间传递的实际值:
运行新包的 %pre (1)
安装新文件
运行新包的 %post (1)
这里是在升级期间传递的值:
运行新包的 %pre (2)
安装新文件
运行新包的 %post (2)
运行旧包的 %preun (1)
删除新文件未覆盖的任何旧文件
运行旧包的 %postun (1)
这里是在删除期间传递的值:
运行旧包的 %preun (0)
删除文件
运行旧包的 %postun (0)
SPEC中的宏定义:
RPM includes a host of built-in macros, including the following useful directories:
%_prefix /usr
%_exec_prefix %{_prefix}
%_bindir %{_exec_prefix}/bin
%_sbindir %{_exec_prefix}/sbin
%_libexecdir %{_exec_prefix}/libexec
%_datadir %{_prefix}/share
%_sysconfdir %{_prefix}/etc
%_sharedstatedir %{_prefix}/com
%_localstatedir %{_prefix}/var
%_libdir %{_exec_prefix}/lib
%_includedir %{_prefix}/include
%_oldincludedir /usr/include
%_infodir %{_prefix}/info
%_mandir %{_prefix}/man
The example directories shown above come from the standard RPM macro file, /usr/lib/rpm/macros, instead of the Red Hat-specific file, /usr/lib/rpm/redhat/macros, which holds:
%_prefix /usr
%_sysconfdir /etc
%_localstatedir /var
%_infodir /usr/share/info
%_mandir /usr/share/man
%_initrddir %{_sysconfdir}/rc.d/init.d
%_defaultdocdir %{_usr}/share/doc
所有的变量都可以在/usr/lib/rpm/macros文件中查找到。