Srpm软件包编译指南

Author: 云飞扬 Date: 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。