头文件:
(1) Summary: 用一句话概括该软件;
(2) Name: 软件名,最终RPM 软件是用该名字,版本号,释出号,体系号来命名软件的;
(3) Version: 软件包版本号, 当软件相对之前有较大改动才会增加版本号;
(4) Release: 软件包释出号, 当对软件作出补丁时,释出号加1;
(5) Vendor: 软件开发者的名字;
(6) CopyRight: 软件包采用的版权规则,一般都写GPL(自由软件),BSD,MIT,Public Domain(公共域),commercial(商业),shared(公共);
(7) Group: 软件分组,软件包所属的类型;
(8) License: 软件授权方式,一般是GPL
(9) Source: 源代码包
(10) Patch: 补丁源码;
(11) BulidRoot: 安装和编译时使用的虚拟目录,一般写为 %{_tmppath}/%{name}-%{version}-root
或者 %{_tmppath}/%{name}-%{version}-%{release}-root
该参数非常重要,后面可使用$RPM_BUILD_ROOT 方式引用。
因为在生成rpm的过程中,执行make install时就会把软件安装到上述的路径中,在打包的时候,同样依赖“虚拟目录”为“根目录”进行操作。
(12) URL: 软件主页;
(13) Requires: 该rpm所依赖的软件包的名称,可以用>= , <=表示大于,小于某一个特定版本;
预处理:%prep
预处理阶段,写一些预处理脚本执行来解开源程序包的命令,为下一步的编译安装做准备;
%prep 与%build,%install 阶段一样, 除了可以执行RPM 定义的一些宏命令,还可以执行shell命令,可以都多行;
%preun: rpm 卸载前执行的脚本;一般写 %setup -q 即可;
%build 开始编译源码构建包,相当于 configure 与 make;
%install 把软件安装到虚拟的根目录中;为以下的%files文件段服务,这里写的是绝对路径
%post rpm安装后执行的脚本;
%files:
用于定义构成软件包的文件列表,这些文件将放入rpm 中分成三类;分为三类:说明档类(doc),配置文件(config),以及可执行程序。
(1) Summary: 用一句话概括该软件;
(2) Name: 软件名,最终RPM 软件是用该名字,版本号,释出号,体系号来命名软件的;
(3) Version: 软件包版本号, 当软件相对之前有较大改动才会增加版本号;
(4) Release: 软件包释出号, 当对软件作出补丁时,释出号加1;
(5) Vendor: 软件开发者的名字;
(6) CopyRight: 软件包采用的版权规则,一般都写GPL(自由软件),BSD,MIT,Public Domain(公共域),commercial(商业),shared(公共);
(7) Group: 软件分组,软件包所属的类型;
(8) License: 软件授权方式,一般是GPL
(9) Source: 源代码包
(10) Patch: 补丁源码;
(11) BulidRoot: 安装和编译时使用的虚拟目录,一般写为 %{_tmppath}/%{name}-%{version}-root
或者 %{_tmppath}/%{name}-%{version}-%{release}-root
该参数非常重要,后面可使用$RPM_BUILD_ROOT 方式引用。
因为在生成rpm的过程中,执行make install时就会把软件安装到上述的路径中,在打包的时候,同样依赖“虚拟目录”为“根目录”进行操作。
(12) URL: 软件主页;
(13) Requires: 该rpm所依赖的软件包的名称,可以用>= , <=表示大于,小于某一个特定版本;
预处理:%prep
预处理阶段,写一些预处理脚本执行来解开源程序包的命令,为下一步的编译安装做准备;
%prep 与%build,%install 阶段一样, 除了可以执行RPM 定义的一些宏命令,还可以执行shell命令,可以都多行;
%preun: rpm 卸载前执行的脚本;一般写 %setup -q 即可;
%build 开始编译源码构建包,相当于 configure 与 make;
%install 把软件安装到虚拟的根目录中;为以下的%files文件段服务,这里写的是绝对路径
%post rpm安装后执行的脚本;
%files:
用于定义构成软件包的文件列表,这些文件将放入rpm 中分成三类;分为三类:说明档类(doc),配置文件(config),以及可执行程序。
还可以定义文件存取权限,拥有者以及组别。这会在虚拟的根目录下执行,不能写绝对路径,应该用宏或者变量写其相对路径。
rpm 常用命令:
rpm -ivh XXX.lp19.x86_64.rpm --> 安装
rpm -i xxx.lp19.src.rpm
rpmbuild -ba xxx.spec --> 查看源码
rpm -e xxx --nodeps --> 仅卸载该软件,不卸载依赖软件;
rpm --showrc --> 查看.spec 实现代码;
rpm --eval "%{_bindir}" --> 查看实际对应地址;
fmoonstar 更新至 2013/04/15