Menu Close

3.15. 从源 RPM 重建二进制 RPM

以下流程演示了如何从源 RPM(SRPM)重建二进制 RPM。

步骤

  • 要从 SRPMs 中重建 bellopellocello,请运行:

    $ rpmbuild --rebuild ~/rpmbuild/SRPMS/bello-0.1-1.el8.src.rpm
    [output truncated]
    
    $ rpmbuild --rebuild ~/rpmbuild/SRPMS/pello-0.1.2-1.el8.src.rpm
    [output truncated]
    
    $ rpmbuild --rebuild ~/rpmbuild/SRPMS/cello-1.0-1.el8.src.rpm
    [output truncated]
注意

调用 rpmbuild --rebuild 涉及:

  • ~/rpmbuild/ 目录中安装 SRPM - SPEC 文件和源代码 -。
  • 使用安装的内容进行构建.
  • 删除 SPEC 文件和源代码。

要在构建后保留 SPEC 文件和源代码,您可以:

  • 构建时,使用带有 --recompile 选项而非 --rebuild 选项的 rpmbuild 命令。
  • 使用以下命令安装 SRPMs:

    $ rpm -Uvh ~/rpmbuild/SRPMS/bello-0.1-1.el8.src.rpm
    Updating / installing…​
       1:bello-0.1-1.el8               [100%]
    
    $ rpm -Uvh ~/rpmbuild/SRPMS/pello-0.1.2-1.el8.src.rpm
    Updating / installing…​
    …​1:pello-0.1.2-1.el8              [100%]
    
    $ rpm -Uvh ~/rpmbuild/SRPMS/cello-1.0-1.el8.src.rpm
    Updating / installing…​
    …​1:cello-1.0-1.el8            [100%]

创建二进制 RPM 时生成的输出是详细的,这对调试非常有用。输出因不同示例而异,并对应于其 SPEC 文件。

如果软件包没有特定架构,生成的二进制 RPM 位于 ~/rpmbuild/RPMS/YOURARCH 目录中(其中 YOURARCH 是您的架构),或位于 ~/rpmbuild/RPMS/noarch/ 目录中。