第一步:下载cmatrix.tar.gz(包含有已写好的cmatrix.spec文件)

     # wget http://www.asty.org/cmatrix/dist/cmatrix-1.2a.tar.gz


第二步:检测编译环境:

    # yum isntall gcc gcc-c++ make rpm-bulid
    # rpm -qa|grep gcc*        //检测C编译软件包是否安装
        libgcc-4.4.6-4.el6.i68gcc-objc-4.4.6-4.el6.i686
    # rpm -qa rpm-build       //检测rpmbuild命令包是否安装
        rpm-build-4.8.0-27.el6.i686 


第三步:根据spes文件生成rpm包

法1:将tar.gz制作成rpm包:自己解压制作rpm包
(1)生成rpmbuild文件
# rpmbuild cmatrix-1.2a.tar.gz       //生成rpmbuild相关文件,此时报错并没有影响 
    error: File /root/cmatrix-1.2a.tar.gz does not appear to be a specfic
# tree       //查看生成的文件及相互位置关系
.
|-- anaconda-ks.cfg
|-- cmatrix-1.2a.tar.gz
|-- install.log
|-- install.log.syslog
`-- rpmbuild
    |-- BUILD
    |-- BUILDROOT
    |-- RPMS
    |-- SOURCES
    |-- SPECS
    `-- SRPMS

(2)将tar 包解压,拷贝源码*.tar.gz到SOUCES和*.spec文件到SPECS
# tar xf cmatrix-1.2a.tar.gz       //将源码包解压
# tree cmatrix-1.2a      //查看解压后文件内容
cmatrix-1.2a
|-- AUTHORS
|-- COPYING
|-- ChangeLog
|-- INSTALL
|-- Makefile.am
|-- Makefile.in
|-- NEWS
|-- README
|-- TODO
|-- acconfig.h
|-- aclocal.m4
|-- cmatrix.1
|-- cmatrix.c
|-- cmatrix.spec
|-- cmatrix.spec.in
|-- config.guess
|-- config.h.in
|-- config.sub
|-- configure
|-- configure.in
|-- install-sh
|-- matrix.fnt
|-- matrix.psf.gz
|-- missing
|-- mkinstalldirs
|-- mtx.pcf
`-- stamp-h.in
# cp  cmatrix-1.2a.tar.gz rpmbuild/SOURCES       //将源码包拷贝到rpmbuild/SOURCES目录
# cp cmatrix-1.2a/cmatrix.spec rpmbuild/SPECS     //将spes文件拷贝到rpmbuild/SPECS目录

(3) 生成rpm包

# cd cmatrix-1.2/SPECS

# rpmbuild -ba cmatrix.spec    //根据spes文件生成相应的rpm包(spes文件也可以是自己编辑的)
error: line 10: Unknown tag: Copyright: GPL     //spes文件中Copyright:GPL这一行不能编译
# vim cmatrix.spec      //将spes文件中的Copyright改为License
# rpmbuild -ba cmatrix.spec    
checking for consolechars... no
checking for setfont... /bin/setfont
checking for /usr/lib/kbd/consolefonts... yes
checking for /usr/share/consolefonts... no
checking for mkfontdir... /usr/bin/mkfontdir
checking for /usr/lib/X11/fonts/misc... no
。。。。。
RPM build errors:
    Installed (but unpackaged) file(s) found:
   /usr/X11R6/lib/X11/fonts/misc/fonts.dir      //根据spes文件检测不到目录font.dir
# vim cmatrix.spec   //将spes文件中的mkfontdir这一行用#注释掉,不进行font.dir目录的检测
# rpmbuild -ba cmatrix.spec 

(此时需要安装文件中requires要求的ncurses相关包,建议使用网络yum源安装,本地yum源ncurses相关包要有好几个,可能本地没有)
。。。。
+ cd /root/rpmbuild/BUILD
+ cd cmatrix-1.2a
+ rm -rf /root/rpmbuild/BUILDROOT/cmatrix-1.2a-1.i386
+ exit 0           //rpm包生成成功


法2:将tar.gz制作成rpm包:智能解压制作rpm包(常用)
# vim cmatrix-1.2a.tar.gz 
(修改里面cmatrix.spec文件,将spes文件中Copyright改为License,将mkfontdir用#注释掉)
# rpmbuild -ta cmatrix-1.2a.tar.gz     //直接根据未解压的tar包生成rpm包
。。。。。
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd cmatrix-1.2a
+ rm -rf /root/rpmbuild/BUILDROOT/cmatrix-1.2a-1.i386
+ exit 0            //成功生成rpm包
# cd rpmbuild/
# tree    //查看生成的rpm包所在目录
.
|-- BUILD
|   `-- cmatrix-1.2a
|       |-- AUTHORS
|       |-- COPYING
|       |-- ChangeLog
|       |-- INSTALL
|       |-- Makefile
|       |-- Makefile.am
|       |-- Makefile.in
|       |-- NEWS
|       |-- README
|       |-- TODO
|       |-- acconfig.h
|       |-- aclocal.m4
|       |-- cmatrix
|       |-- cmatrix.1
|       |-- cmatrix.c
|       |-- cmatrix.o
|       |-- cmatrix.spec
|       |-- cmatrix.spec.in
|       |-- config.cache
|       |-- config.guess
|       |-- config.h
|       |-- config.h.in
|       |-- config.log
|       |-- config.status
|       |-- config.sub
|       |-- configure
|       |-- configure.in
|       |-- install-sh
|       |-- matrix.fnt
|       |-- matrix.psf.gz
|       |-- missing
|       |-- mkinstalldirs
|       |-- mtx.pcf
|       |-- stamp-h
|       `-- stamp-h.in
|-- BUILDROOT
|-- RPMS
|   `-- i686
|       `-- cmatrix-1.2a-1.i686.rpm
|-- SOURCES
|-- SPECS
`-- SRPMS
    `-- cmatrix-1.2a-1.src.rpm


第四步:用做好的cmatrix.rpm安装cmatrix

方法一:直接用rpm安装制作好的rpm包:
# cd RPMS/i686   
# ls
cmatrix-1.2a-1.i686.rpm
# rpm -ivh cmatrix-1.2a-1.i686.rpm     //rpm安装cmatrix

(此时如果报错,一般是没有安装字符显示相关包)

#yum intall *x11* *X11* *gtk*

 

 

方法二:将制作好的rpm包放入yum源用yum安装:
# cd /root/rpmbuild/RPMS/i686/
# cp cmatrix-1.2a-1.i686.rpm /yum/Packages/    //将rpm包放入yum源     
# createrepo --update /yum/      //更新yum源的依赖关系文件
# yum install cmatrix      //yum安装cmatrix
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
。。。。
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing    : cmatrix-1.2a-1.i686                                          1/1 
  Verifying  : cmatrix-1.2a-1.i686                                          1/1 

Removed:
  cmatrix.i686 0:1.2a-1                                                         

Complete!           

               

 安装完成后直接敲cmatrix命令就会看到看到神奇的文字雨了!还在等什么!!!