当前位置: 首页 > 工具软件 > CMatrix > 使用案例 >

linux内核源码制作rpm包,cmatrix源码包制作rpm包

冯枫
2023-12-01

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

第二步:检测编译环境:

# 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命令就会看到看到神奇的文字雨了!还在等什么!!!

 类似资料: