Autoconf rpm打包过程具体步骤详解

运维 系统运维
Autoconf生成的configure脚本需要一些关于如何进行初始化,诸如如何寻找包的源文件,的信息;以及如何生成输出文件的信息。本文主要介绍了autoconf rpm打包过程

Autoconf生成的configure脚本需要一些关于如何进行初始化,诸如如何寻找包的源文件,的信息;以及如何生成输出文件的信息。本文主要介绍了autoconf rpm打包过程

Autoconf rpm打包过程如下:make:根据Makefile编译原始码,连接,生成目标文件,可执行文件。

Autoconf rpm打包过程第一步:
创建发布包,运行makedist命令
#makedist
#ls
//生成hello-cxf-1.0.tar.gz
注:makedist
产生发布软件包文件(即distributionpackage)。这个命令将会将可执行文件及相关文件打包成一个tar.gz压缩的文件用来作为发布软件的软件包。
他会在当前目录下生成一个名字类似“PACKAGE-VERSION.tar.gz”的文件。PACKAGE和VERSION,是我们在configure.in中定义的AM_INIT_AUTOMAKE(PACKAGE,VERSION)。

Autoconf rpm打包过程第二步:
#makedistcheck
注意:
makedistcheck-生成发布软件包并对其进行测试检查,以确定发布包的正确性。这个操作将自动把压缩包文件解开,然后执行configure命令,并且执行make,来确认编译不出现错误,最后提示你软件包已准备好,能发布了。
makedistclean-类似makeclean,但同时也将configure生成的文件全部删除掉,包括Makefile。

Autoconf rpm打包过程第三步:
我用的是as4.0,首先查看一下/usr/src/redhat/目录下面是否有BUILDRPMSSOURCESSPECSSRPMS这些子目录,如果没有,则创建。
把上一步生成的hello-cxf-1.0.tar.gz包复制到/usr/src/redhat/SOURCES/目录下:
#cphello-cxf-1.0.tar.gz/usr/src/redhat/SOURCES/

Autoconf rpm打包过程第四步:
编辑将应用程序打包(package)必须的配置文件spec文件。
我的hello-cxf-1.0.spec配置文件为:
%define_namehello-cxf
%define_ver1.0
%define_rel1.0
Summary:It'sahello-cxfprogram
Name:%{_name}
Version:1.0
Release:%{_rel}
License:Copyright
Group:Amusements/Games
Source:%{_name}-%{_ver}.tar.gz
BuildRoot:/var/tmp/hello-cxf-1.0-root
%description
printHello-cxfworld
%prep
%setup-q
#tarzxf%{_name}-%{_ver}.tar.gz
%build
./configure
make
%install
rm-rf%{buildroot}
makeDESTDIR="$RPM_BUILD_ROOT"install
%post
echo"OK,Helloisalreadyinstalledforyou!"
%postun
echo"OK,Helloisalreadyuninstalledforyou!"
echo"Thanksforusing!"
%clean
rm-rf$RPM_DUILD_ROOT
%files
%defattr(-,root,root)
/usr/local/bin/hello-cxf
%changelog

Autoconf rpm打包过程第五步:
#rpmbuild-bahello-cxf-1.0.spec
rpmbuild读入spec文件上的配置信息,自动生成rpm包。

Autoconf rpm打包过程第六步:
安装:rpm-ivhname-version-release.architecture.rpm(由刚rpmbuild-bb×××.spec生成的rpm安装包)
可以先查看一下再/usr/src/redhat/RPMS/i386目录下是否已经生成了rpm包。
#cd/usr/src/redhat/RPMS/
#ls
athloni386i486i586i686noarch
#lsi386/
hello-cxf-1.0-1.0.i386.rpmhello-cxf-debuginfo-1.0-1.0.i386.rpm
#rpm–ivhhello-cxf-1.0-1.0.i386.rpm

Autoconf rpm打包过程第七步:
运行#hello-cxf即可
#hello-cxf
thisishello-cxf-1.0testing!

注意:
rpm文件命名规则:name-version-release.architecture.rpm
name指软件名,version软件版本,release发布版本,architecture表示该rpm包适用的平台(指cpu),典型的有:src,noarch,i386,i686,ppc64,x86_64,ia64,sparc64。其中src,noarch这两种适用各种平台,i386,i686(32位),x86_64(64位),这三种比较常见。

Autoconf rpm常用的命令:
安装:rpm-ivhname-version-release.architecture.rpm
升级:rpm–Uvhname-version-release.architecture.rpm
卸载:rpm-ename;rpm-ename-version;rpm-ename-version-release
版本查询:rpm-qname
其它命令:
rpm-qiname详细信息查询
rpm-qplname-version-release.architecture.rpmrpm文件列表(该rpm包将安装的文件)
rpm-qa已经安装的所有rpm包。
rpm-ivh--nodepsname-version-release.architecture.rpm中-nodeps选项可以忽略对其它rpm软件包的依赖。
rpm-qffilename查看该文件属于哪个rpm包。
rpmbuid常用命令
rpmbuild-bb|-bs|-ba×××.spec
rpmbuild-tb|-ts|-ta×××.tar.gz//spec文件在tar.gz中
-bb和-tb打包成二进制包
-bs和-ts打包成源码包
-ba和-ta打包成二进制包和源码包

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/feneyChan/archive/2009/07/26/4380669.aspx

【编辑推荐】

  1. Autoconf使用关于autoconf安装条件介绍 
  2. Autoconf使用生成Makefile的方法及其规则
  3. autoconf安装关于可移植的源代码详解
  4. autoconf安装自动编译工具介绍(3)
  5. autoconf安装自动编译工具介绍(2)
责任编辑:chenqingxiang 来源: CSDN
相关推荐

2010-06-22 14:55:21

autoconf安装

2010-06-22 15:51:38

Autoconf rp

2010-01-12 11:55:10

VB.NET网络监控

2009-12-07 10:46:08

WCF框架

2010-01-18 18:32:43

VB.NET监视启动过

2009-01-30 21:56:00

2010-07-02 09:48:58

2003 SNMP启用

2010-02-22 10:52:34

PDA访问WCF

2010-08-02 17:08:34

Flex Eclips

2010-06-21 17:05:00

Linux Arch

2010-10-08 11:29:24

JavaScript对象

2010-09-25 16:30:25

DHCP选项设置

2009-12-08 10:21:01

家用路由器设置

2010-09-26 10:38:37

JVM安装Tomcat

2009-09-03 14:49:49

C#实现网络点对点

2011-04-07 14:53:18

路由器局域网宽带路由器

2010-06-08 18:59:03

OpenSUSE li

2010-09-03 11:53:09

华为DHCP配置

2010-04-08 17:51:05

Oracle表列

2013-06-19 09:51:32

vSphere服务器虚拟化
点赞
收藏

51CTO技术栈公众号