标题Srpm软件包编译指南
栏目软件世界
作者云飞扬
发布2001年14期
如果你经常光顾某些Linux站点,你会发现一些以“src.rpm”为后缀的软件包。其实,rpm软件包有两种形式,一种为二进制软件包,这种软件包中的程序是已经编译好的二进制可执行程序,这种软件包常以“i386.rpm、i486.rpm”等为后缀。其中的如“i386、i486”等代表Intel兼容的CPU平台;另一种就是以“src.rpm”为后缀的源程序软件包,这种软件包中的软件程序是未经编译的源代码,如果执行rpm -qlp检查该源代码,发现里面最重要的是一些以“.tar.gz”格式结尾的源程序及rpm特有的spec文件,偶尔也会发现一些补丁文件。源程序软件包主要由三个部分组成:预处理、编译和安装。编译的命令是:
rpm -[b|t] o [编译可选项] <软件包文件名>
其实,rpm的编译可选项较多,常用的编译可选项如下:
-b 用于编译的是一个文件
-t 用于编译的文件在一个压缩文件中
-clean 软件包创建后删除编译树
-rmsource 编译完毕后删除源程序与源程序软件包文件
-test 对软件包进行测试
-sign 在软件包中嵌入基于PGP的签名信息
当然,对于我们来说,可以不用记这么多编译可选项,只要记住以下两个就行了。在以root身份执行rpm时,多加一个recompile的选项,就可以把包装在srpm软件包中的源程序编译并安装该套软件。命令使用格式如下:
rpm --recompile <软件包文件名>
如果加--rebuild 选项的话,除了会编译源程序代码并安装该套软件,还会把编译完成的套件包装成二进制形式的“i386.rpm”的rpm软件包并放置在“/usr/src/redhat/rpms”目录下。命令使用格式如下:
rpm --rebuild <软件包文件名>
如果你对srpm软件包的编译还有什么疑问的话,欢迎和我交流,我的E-mail是yfy001@etang.com。