分类: LINUX
2011-12-08 09:21:57
Usage: rpmbuild [OPTION...]
*使用命令:rpmbuild ·[OPTION]
Build options with [
*建立包的选项有:[ 从文件
*从文件
-bp build through %prep (unpack sources and apply patches) from
* -bp 从
-bc build through %build (%prep, then compile) from
*-bc 从
-bi build through %install (%prep, %build, then install) from
-bl verify %files section from
*检查
-ba build source and binary packages from
*建立源码和二进制包
-bb build binary package only from
*只建立二进制包
-bs build source package only from
*只建立源码包
*从
-tp build through %prep (unpack sources and apply patches) from
-tc build through %build (%prep, then compile) from
-ti build through %install (%prep, %build, then install) from
-ta build source and binary packages from
*建立源码和二进制包
-tb build binary package only from
*只建立二进制包
-ts build source package only from
*只建立源码包
*从
--rebuild
build binary package from
*建立二进制包
--recompile
build through %install (%prep, %build, then install) from
*rpmbuild的其他使用项
--buildroot=DIRECTORY override build root
*确定以root目录建立包
--clean remove build tree when done
*完成打包后清除BUILD下的文件目录
--nobuild do not execute any stages of the build
*不进行BUILD的阶段
--nodeps do not verify build dependencies
*不检查建立包时的关联文件
--nodirtokens
generate package header(s) compatible with (legacy) rpm[23] packaging
--rmsource remove sources when done
*完成打包后清除sources
--rmspec remove specfile when done
*完成打包后清除specfile
--short-circuit skip straight to specified stage (only for c,i)
*跳过
--target=CPU-VENDOR-OS
override target platform
*确定包的最终使用平台
Common options for all rpm modes:
*所有rpm都可使用的选项
-D, --define='MACRO EXPR' define MACRO with value EXPR
*预定义
-E, --eval='EXPR' print macro expansion of EXPR
*显示大量EXPR扩展信息
--macros=
*读
--nodigest don't verify package digest(s)
*不检查包的说明信息
--nosignature don't verify package signature(s)
*不检查包的签名信息
--rcfile=
*读
-r, --root=ROOT use ROOT as top level directory (default: "/")
*使ROOT为最高级别的路径
--querytags display known query tags
*显示已知的有疑问的地方
--showrc display final rpmrc and macro configuration
*显示最终的配置信息
--quiet provide less detailed output
*提供少量的信息
-v, --verbose provide more detailed output
* 提供大量的详细的信息
--version print the version of rpm being used
*显示rpm包的版本
Options implemented via popt alias/exec:
*附加选项
--dbpath=DIRECTORY use database in DIRECTORY
--with=
打包
如果想发布rpm格式的源码包或者是二进制包,就要使用rpmbuild工具(rpm最新打 包工具)。如果我们已经根据本地源码包的成功编译安装而写了spec文件(该文件要以.spec结束),那我们就可以建立一个打包环境,也就是目录树的建 立,一般是在/usr/src/redhat/目录下建立5个目录。它门分别是BUILD、SOURCE、SPEC、SRPM、RPM。其中BUILD目 录用来存放打包过程中的源文件,SOURCE用来存放打包是要用到的源文件和patch,SPEC用来存放spec文件,SRPM、RPM分别存放打包生 成的rpm格式的源文件和二进制文件。当然我们可以根据需要来选用不同的参数打包文件,笔者总结如下3条。
1) 只生成二进制格式的rpm包
rpmbuild -bb xxx.spec
用此命令生成软件包,执行后屏幕将显示如下信息:(每行开头为行号)
1 Executing: %prep 2 + umask 022 3 + cd /usr/src/dist/BUILD 4 + exit 0 5 Executing: %build 6 + umask 022 7 + cd /usr/src/dist/BUILD |
生成的文件会在刚才建立的RPM目录下存在。
2)只生成src格式的rpm包
rpmbuild -bs xxx.spec
生成的文件会在刚才建立的SRPM目录下存在。
3) 只需要生成完整的源文件
rpmbuild -bp xxx.spec
源文件存在目录BUILD下。
读者朋友可能对这个命令不太明白,这个命令的作用就是把tar包解开然后把所有的补丁文件合并而生成一个完整的具最新功能的源文件。
4) 完全打包
rpmbuild -ba xxx.spec
产生以上3个过程分别生成的包。存放在相应的目录下。
转自:http://www.lupaworld.com/home-space-uid-24161-do-blog-id-236663.html