zoukankan      html  css  js  c++  java
  • rpmbuild

    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 使用的,在 rpmrcmacros 配置文件中定义的选项的值。

    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*

  • 相关阅读:
    CUDA:Supercomputing for the Masses (用于大量数据的超级计算)-第七节
    CUDA:Supercomputing for the Masses (用于大量数据的超级计算)-第六节
    数组逆序=全局内存版 VS 共享内存版
    CUDA:Supercomputing for the Masses (用于大量数据的超级计算)-第五节
    CUDA:Supercomputing for the Masses (用于大量数据的超级计算)-第四节
    【转载】Caffe + Ubuntu 14.04 + CUDA 6.5 新手安装配置指南
    Andrew NG 自动化所演讲(20140707):DeepLearning Overview and Trends
    机器学习资源
    CUDA实现数组倒序
    CUDA:Supercomputing for the Masses (用于大量数据的超级计算)-第三节
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11098086.html
Copyright © 2011-2022 走看看