RPM 包rpmbuild SPEC 文件深度说明 一、编写 spec 脚本 rpm 建包的原理其实并不复杂,可以理解为按照标准的格式整理一些信息,包括:软件基础信息,以及安装、卸载前后执行的脚本,对源码包解压、打补丁、编译,安装路径和文件等
实际过程中,最关键的地方,是要清楚虚拟路径的位置,以及宏的定义
二、关键字 spec 脚本包括很多关键字,主要有: 引用 Name: 软件包的名称,后面可使用%{name}的方式引用 Summary: 软件包的内容概要 Version:软件的实际版本号,例如:1
1 等,后面可使用%{version}引用 Release:发布序列号,例如:1linuxing 等,标明第几次打包,后面可使用%{release}引用 Group: 软件分组,建议使用标准分组 License: 软件授权方式,通常就是 GPL Source: 源代码包,可以带多个用 Source1、Source2 等源,后面也可以用%{source1}、%{source2}引用 BuildRoot: 这个是安装或编译时使用的“虚拟目录”,考虑到多用户的环境,一般定义为: %{_tmppath}/%{name}-%{version}-%{release}-root 或 %{_tmppath}/%{name}-%{version}-%{release}-buildroot-%(%{__id_u} -n} 该参数非常重要,因为在生成 rpm 的过程中,执行 make install 时就会把软件安装到上述的路径中,在打包的时候,同样依赖“虚拟目录”为“根目录”进行操作
后面可使用$RPM_BUILD_ROOT 方式引用
URL:软件的主页 Vendor: 发行商或打包组织的信息,例如 RedFlagCo,Ltd Disstribution:发行版标识 Patch:补丁