SYNOPSIS
构建打包:
rpmbuild {-ba|-bb|-bp|-bc|-bi|-bl|-bs} [rpmbuild-options] SPECFILE …
rpmbuild {-ta|-tb|-tp|-tc|-ti|-tl|-ts} [rpmbuild-options] TARBALL …
rpmbuild {–rebuild|–recompile} SOURCEPKG …
其他:
rpmbuild –showrc
rpmbuild 选项
[–buildroot DIRECTORY] [–clean] [–nobuild]
[–rmsource] [–rmspec] [–short-circuit] [–sign]
[–target PLATFORM]
DESCRIPTION
rpmbuild 是用来构建软件的二进制和源代码打包的。一个软件包 package 包括文件的归档以及用来安装和卸载归档中文件的元数据。元数据包括辅助脚本,文件属性,以及有关的描述性的信息。软件包有两种 package:二进制软件包,用来封装要安装的软件,源代码软件包,包含了源代码和要构建二进制打包需要的内容。
必须选择下列基本模式之一:0 Build Package, Build Package from Tarball, Recompile Package, Show Configuration.
一般的选项
这些选项可以用于所有不同的模式。
- -?, –help
- 输出较长的帮助信息
- –version
-
输出一行信息,包含
rpmbuild 的版本号 - –quiet
- 输出尽可能少的信息 – 通常只有错误信息才会显示出来
- -v
- 输出冗余信息 – 通常常规的进度信息都将被显示
- -vv
- 输出大量丑陋的调试信息
-
–rcfile
FILELIST -
FILELIST 中冒号分隔的每个文件名都被
rpm 按顺序读取,从中获得配置信息。只有列表的第一个文件必须存在,波浪线将被替换为
$HOME。默认的
FILELIST 是
/usr/lib/rpm/rpmrc:
/usr/lib/rpm/redhat/rpmrc:
/etc/rpmrc:
~/.rpmrc -
–pipe
CMD -
将
rpm 的输出通过管道送到命令
CMD。 -
–dbpath
DIRECTORY -
使用
DIRECTORY 中的数据库,而不是默认的路径
/var/lib/rpm -
–root
DIRECTORY -
以
DIRECTORY 作为根文件系统,进行所有操作。这意味着将使用
DIRECTORY 中的数据库来进行依赖性检测,任何小程序 (也就是安装中的
%post 和构建中的
%prep) 都将在一个 chroot(2) 到
DIRECTORY 之后执行。
构建选项
构建命令的一般形式是
rpmbuild -bSTAGE|-tSTAGE [ rpmbuild-options ] FILE …
如果要用某个 spec 文件构建,使用 -b 参数。如果需要根据一个可能是压缩过的 tar 归档文件中的 spec 文件构建,就使用 -t 参数。第一个参数之后的字符 STAGE 指定了要完成的构建和打包的阶段,是下列其中之一:
- -ba
- 构建二进制和源代码打包 (在执行 %prep, %build 和 %install 之后)
- -bb
- 构建二进制打包 (在执行 %prep, %build 和 %install 之后)
- -bp
- 执行 spec 文件的 “%prep” 阶段。通常,这会解包源代码并应用补丁
- -bc
- 执行 spec 文件的 “%build” 阶段 (在执行了 %prep 阶段之后)。这通常等价于执行了一次 “make”
- -bi
- 执行 spec 文件的 “%install” 阶段 (在执行了 %prep 和 %build 阶段之后)。这通常等价于执行了一次 “make install”
- -bl
- 执行一次 “列表检查”。spec 文件的 “%files” 段落中的宏被扩展,检测是否每个文件都存在。
- -bs
- 只构建源代码打包
还可以用下列选项:
-
–buildroot
DIRECTORY -
在构建时,使用目录
DIRECTORY 覆盖默认的值 - –clean
- 在制作打包之后删除构建树
- –nobuild
- 不执行任何构建步骤。用于测试 spec 文件
- –rmsource
-
在构建后删除源代码 (也可以单独使用,例如 ”
rpmbuild
–rmsource foo.spec“) - –rmspec
-
在构建之后删除 spec 文件 (也可以单独使用,例如 ”
rpmbuild
–rmspec foo.spec“) - –short-circuit
-
直接跳到指定阶段 (也就是说,跳过指定阶段前面的所有步骤)。只有与
-bc 或
-bi 连用才有意义。 - –sign
-
在打包中包含 GPG 签名。签名可以用来校验打包的完整性和来源。参见
rpm(8) 的 “GPG 签名” 章节中的配置细节。 -
–target
PLATFORM -
在构建时,将
PLATFORM 解析为
arch-vendor-os,并以此设置宏
%_target,
%_target_cpu, 和
%_target_os 的值。
重建和重编译选项
还有两种发起构建的方法:
rpmbuild –rebuild|–recompile SOURCEPKG …
这样执行的话,rpmbuild 安装指定的源代码打包,然后进行准备,编译和安装。另外,–rebuild 构建一个新的二进制打包,在构建结束时,构建目录被删除 (就好像用了 –clean),源代码和 spec 文件也被删除。
SHOWRC
命令
rpmbuild –showrc
将显示 rpmbuild 使用的,在 rpmrc 和 macros 配置文件中定义的选项的值。
FILES
rpmrc 配置文件
/usr/lib/rpm/rpmrc /usr/lib/rpm/redhat/rpmrc /etc/rpmrc ~/.rpmrc
Macro 宏定义文件
/usr/lib/rpm/macros /usr/lib/rpm/redhat/macros /etc/rpm/macros ~/.rpmmacros
Database 数据库
/var/lib/rpm/Basenames /var/lib/rpm/Conflictname /var/lib/rpm/Dirnames /var/lib/rpm/Filemd5s /var/lib/rpm/Group /var/lib/rpm/Installtid /var/lib/rpm/Name /var/lib/rpm/Packages /var/lib/rpm/Providename /var/lib/rpm/Provideversion /var/lib/rpm/Pubkeys /var/lib/rpm/Removed /var/lib/rpm/Requirename /var/lib/rpm/Requireversion /var/lib/rpm/Sha1header /var/lib/rpm/Sigmd5 /var/lib/rpm/Triggername
Temporary 临时文件
/var/tmp/rpm*
今天的文章rpmbuild – 构建 RPM 打包分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/53673.html