1.介绍
在开始介绍之前,首先表达一个观点,一般不推荐使用root构建构建RPM包,尤其对RPM包构建不是很熟悉的用户,因为一些配置或者误操作可能会影响甚至破坏系统,造成一些不必要的损失。另外一点是使用普通用户基本可以满足构建大多数RPM包的要求。
RPM包是一种优秀的软件包安装管理系统,而RPM源码包则是RPM包系统中重要的组成部分,是其他各种RPM包母体,其他种类的RPM包都是由RPM源 码包生成的。这样当软件有升级更新时,首先需要更新的是RPM源码包,下来通过RPM源码包生成新的RPM安装包等其他包。
准备知识
制作RPM升级包需要一个完整的RPM包构建环境,如何构建RPM构建环境可以参考另一份文档(RPM包如何制作)。我个人认为RPM升级包制作分为两种情况:
1 只是对RPM包小部分的内容进行更新,比如是代码中的一个bug或者小变动。这种情况通过生成一个补丁文件附加到已存在的RPM源码包的方式就可以实现升 级操作。该升级方式操作简单,生成一个源码补丁另外在SPEC文档中添加两行针对新补丁文件的操作即完成源码更新包的操作。
2 软件有重大功能变化,即有大量的源码文件发生变化或者大的内容变化,这种情况一般处理的方式是使软件包进行一个大的版本号的升级,并把上一版源码包中所有 补丁文件和最新更新的所有内容结合到一起,重新制作出新版本的源码包。这种升级方式相对来说操作复杂一些,需要重新打包源码压缩包,需要修改SPEC文档 较多内容。
作为普通软件包的使用者最多遇到的是第一种情形,一般只会针对某个功能添加一点自己的补丁以改善软件包的特性。而第二种情况更多的软件包的开发者、维护者可能会做的大手术。