xdays

RPM包制作

工厂简介

RPM为Redhat Package Manager缩写,是一个为Redhat系列Linux生产软件包的小工厂。其产品是RPM包,包含一些归档文件和meta信息;这些meta信息用来记录如何安装和删除这些文件,一些帮助脚本,文件属性和描述行信息(如包依赖哪些包和被哪些包依赖)。整个RPM包的制作过程严格按照SPEC文件规范的执行,然后通过rpmbuild命令来解析SPEC文件生成对应的RPM包。

生产车间

制作RPM的工厂包括四个实体生产车间,也就是目录结构如下:rpmfactory/{SOURCES,BUILD,SPECS,RPMS,SRPMS};SOURCES是原材料车间用于存放程序的源代码,通常是以.tar.gz后缀结尾的,且压缩前后的的文件名要符合SPEC文件的命令规则,通常是name-version.tar.gz;BUILD是生产车间,是临时目录,主要用于在RPM制作过程中生成临时文件,编译和链接都是在此目录下完成的;SPEC是整个工厂的控制核心车间,所有RPM包的特性都是由次目录下的spec文件来控制的;RPMS是成品车间,此目录下按架构存放对应的rpm包文件;SRPMS是半成品车间,此目录下存放封装好的srpm文件,需要到目标系统上去生产然后安装的。此外有一个目录必须要提下,就是\$BUILDROOT目录,在rpm包的生产过程中除了编译和链接外也进行了安装,只是没有安装到系统中去,而是安装到了\$BUILDROOT目录下,此目录必须提供。

生产线流程 ...