制作rpm包
需要软件:
系统环境:[红帽企业Linux.6.4.服务器版].rhel-server-6.4-x86_64
首先安装rpmdevtools这个工具,该工具包含rpmbuild,rpmdev-newspec,rpmdev-setuptree等工具,rpmdevtools这个工具有依赖关系需要处理,依赖于fakeroot,fakeroot又依赖于fakeroot-lib,所以安装的软件名称以及顺序为:
1、fakeroot-libs-1.12.2-22.2.el6.x86_64.rpm
2、fakeroot-1.12.2-22.2.el6.x86_64.rpm
3、rpmdevtools-7.5-2.el6.noarch.rpm
之后可以进行spec文件的生成。
关于生成rpm包的相关目录说明如下:
整个rpm制作都是在$HOME/rpmbuild目录下完成的。比如在CentOS中,rpmbuild目录下面,有BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS六个子目录。BUILD是编译rpm包的临时目录;BUILDROOT是最后生成rpm包的临时安装目录;RPMS存放最终生成的rpm二进制包;SPECS用来存放spec文件;SRPMS存放最终生成的rpm源码包。倘若这些目录不存在我们运行rpmdev-setuptree命令就会在当前用户目录下的rpmbuild目录下生成上述六个子目录。spec文件可以放到任何地方,但是自己的源码包(.tar.gz)必须放到SOURCES目录下,否则rpmbuild编译时会找不到指定的源码包。而上述的这些目录默认是在用户目录下的,即$HOME/rpmbuild,我们也可以自定义,这个路径是在/usr/lib/rpm/macros文件里面%_t