拳皇女zero:rpm包的制作(SPEC文件的编辑)

来源:百度文库 编辑:偶看新闻 时间:2024/04/26 01:57:23
RPM制作
2.1 基本步骤
1) 取回软件的源代码和相关的补丁
2) 测试所需的补丁,以便于顺利的构建整个程序
3)编辑spec文件
4) 把文件放到正确的位置
5) 使用RPM构建rpm包
2.2 目录结构
/usr/src/redhat/BUILD            编译时的临时目录
/usr/src/redhat/RPMS           存放RPM包
/usr/src/redhat/SOURCES  存放源代码和补丁
/usr/src/redhat/SPECS 存放控制文件--spec文件
/usr/src/redhat/SRPMS             存放源代码包
2.3编辑spec文件
要想制作一个RPM格式的软件包,需要编写软件包描述文件。其标准命名格式为:软件名-版本号-释出号.spec,这个文件,详细描述了有关该软件包的诸多信息,如软件名,版本,类别,说明摘要,创建时要执行什么指令,安装时要执行什么操作,以及软件包所要包含的文件等等。有了这个文件,RPM就可以制作出相应的包裹文件来。
2.4打包过程
下面总结一下运行rpm -ba filename.spec 时,RPM 都做些什么:
1)读取并解析 filename.spec 文件
2)运行%prep 部分来将源代码解包到一个临时目录,并应用所有的补丁程序。
3)运行 %build 部分来编译代码。
4)运行%install 部分将代码安装到构建机器的目录中。
读取 %files 部分的文件列表,收集文件并创建二进制和源 RPM 文件。 源RPM 文件简单地捆绑了 spec 文件和构建软件包用到的所有源文件和补丁文件。如果您选择分发它,则其他人可以很容易地用它重建您的软件。二进制RPM 文件仅包含已编译的软件和如何安装的信息。
5)运行 %clean 部分来除去临时构建目录。

Spec文件的编辑
注释行
它以#号开头,起注解作用,可帮助用户理解所写的内容,但对软件包的生成不起任何作用。注释行可位于描述文件的任何位置。
文件头
文件头描述软件包的基本信息,它包含若干个域,其中有必选的域,也有可选的域。一个域占用一行,其描述格式为:
域名 : 域值
注意:域名不分大小写,并且域值不能为空。
文件头必选域:
共有6个。
1. Name :
此域定义软件名。
2.Version :
此域定义版本号。仅当软件较以前有较大改变时才增加版本号。注: 版本号中不能含减号(-)字符。
3.Release :
此域定义释出号。若软件较以前改变较小,则仅增加释出号,不改变版本号。注: 释出号中亦不能含减号(-)字符。
RPM利用上述的Name(软件名),Version(版本号),Release(释出号)及体系号来命名软件包,如本例输出的包裹文件名为sip-2.4.3-1.i386.rpm。
4. Summary :
此域定义软件包简介。
5.  Group :
此域定义软件所属类别,本例的Developmet/Tools表示本软件属"开发/工具"类。
6. License :
此域定义软件适用的许可证或版权规则。该域也可用Copyright(版权)来定义,二者同意。许可证具体有:GPL(通用公共许可证,自由软件适用),BSD,MIT,PublicDomain(公共域),Distributable(贡献),Commercial(商业),Share(共享)等。