RPM包制作之rpmbuild配置文件SPEC详解

2018-12-04 21:00:00    赵勤松    3088    原创
摘要: rpmbuild使用spec作为常见的配置文件,通过定义此文件,我们可以生成rpm二进制包或src.rpm源包,在此简单介绍如何构建spec文件。

常见的SPEC可分为以下几部分内容


一、软件包描述

1.Name:软件包的名称,之后可以使用%{name}的方式进行引用

2.Summary:软件包的简述信息

3.Version:发行版本号,如1.0.1等,之后可以使用%{version}的方式进行引用

4.Release:实际发行序列号,表明打包的时间,次数等信息,之后可以使用%{release}的方式进行引用

5.Group:软件分组,建议使用标准分组

6.License:软件授权方式,通常为GPL即可

7.Source:源代码包,通常使用Source0,Source1...,之后也可以使用%{source0},%{source1}的方式进行引用

8.BuildRoot:安装或编绎时的根目录,在包生成的时候,如果不指定此目录作为虚拟根目录,在安装阶段,就会有系统根目录作为安装根目录

9.URL:发布者的网站,博客,邮箱等信息可放在这里

10.Patch:补丁源码包路径,可使用Patch0,Patch1...,之后也可以使用%{patch0},%{patch1}的方式进行引用

11.Requires:当前生成的RPM包,需要依赖的软件包名称,用>=或<=表示大于等于或小于等于指定的版本,符号两边用空格隔开,不同的软件包也用空格隔开

12.Packager:打包人信息

13.%description:软件的详细说明


二、软件包生成各阶段操作

%prep:预备编绎阶段,可以使用脚本,将源代码包解压,有补丁的话,也将补丁进行处理,然后生成编绎配置信息(大部分软件会在此阶段执行configure脚本进行编绎检查)

%build:编绎阶段,大部分软件都会在此阶段执行make操作

%install:安装阶段,大部分软件都会在此阶段执行make install操作

%clean:清理阶段,安装完成后,将清理上述各个阶段生成的临时文件


三、包的应用性脚本

%pre:安装执行前脚本,即RPM包被安装前,先执行此部分脚本,如创建指定账号等

%post:安装执行后脚本,即RPM包被成功安装后,会继续执行此部分脚本,如设置开机启动,启动服务等

%preun:卸载执行前脚本,即RPM包被卸载前,先执行此部分脚本,如停止服务,取消开机启动等

%postun:卸载执行后脚本,即RPM包被成功卸载后,会继续执行此部分脚本,如删除指定账号等


四、包配置信息

%files:打包文件列表,需要被放入RPM包中的文件,在此列出,可为目录

%changelog:变更日记,可以标明本次打包需要提示的信息

京ICP备15015023号-1
蝉知7.4.1