5.4.2. 修改原始 spec 文件


rpmdev-newspec 工具生成的原始输出 spec 文件代表一个模板,您必须修改该模板,以便为 rpmbuild 工具提供必要的指令。然后 rpmbuild 使用这些说明构建 RPM 软件包。

先决条件

流程

  1. 打开 rpmdev-newspec 工具提供的 ~/rpmbuild/SPECS/<name>.spec 文件。
  2. 填充 spec 文件 Preamble 部分的以下指令:

    Name
    Name 已被指定为 rpmdev-newspec 的参数。
    Version
    Version 设置为与源代码的上游版本匹配。
    Release
    Release 被自动设置为 1%{?dist},它最初是 1
    Summary
    输入软件包的一行解释。
    License
    输入与源代码关联的软件许可证。
    URL
    输入上游软件网站的 URL。为实现一致性,请使用 %{name} RPM 宏变量,并使用 https://example.com/%{name} 格式。
    Source

    输入上游软件源代码的 URL。直接到被打包的软件版本的连接。

    注意

    本文档中的 URL 示例包括可能在以后更改的硬编码的值。同样,发行版本也可以更改。要简化这些潜在的更改,请使用 %{name}%{version} 宏。通过使用这些宏,您只需要更新 spec 文件中的一个字段。

    BuildRequires
    指定软件包的构建时依赖项。
    Requires
    指定软件包的运行时依赖项。
    BuildArch
    指定软件架构。
  3. 填充 spec 文件 Body 部分的以下指令:您可以将这些指令视为部分标题,因为这些指令可以定义要发生的多行、多指令或脚本化任务。

    %description
    输入软件的完整描述。
    %prep
    输入准备构建软件的命令或一系列命令。
    %build
    输入构建软件的命令或一系列命令。
    %install
    输入指示 rpmbuild 命令如何将软件安装到 BUILDROOT 目录中的命令或一系列命令。
    %files
    指定 RPM 软件包提供的要安装在您的系统上的文件的列表。
    %changelog

    输入软件包的每个 Version-Release 的日期戳条目的列表。

    启动带有一个星号(*)字符,后跟 Day-of-Week Month Day Year Name Surname <email> - Version-Release%changelog 部分的第一行

    对于实际更改条目,请遵循这些规则:

    • 每个更改条目都可以包含多个项,每个代表一个更改。
    • 每项都从新行开始。
    • 每项都以连字符(-)字符开头。

现在,您已为所需程序编写了一个完整的 spec 文件。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部