4.2. 关于 spec 文件
spec 文件是一个包含 rpmbuild 工具用来构建 RPM 软件包的指令的文件。此文件通过在一系列部分中定义指令,为构建系统提供必要的信息。这些部分在 spec 文件的 Preamble 和 Body 部分中定义:
- Preamble 部分包含一系列在 Body 部分中使用的元数据项。
- Body 部分代表说明的主要部分。
4.2.1. Preamble 项 复制链接链接已复制到粘贴板!
以下是您一些可以在 RPM spec 文件的 Preamble 部分中使用的指令。
| 指令 | 定义 |
|---|---|
|
|
软件包的基本名称必须与 |
|
| 软件的上游版本号。 |
|
| 软件包版本发布的次数。
将初始值设置为 |
|
| 软件包的一行简短摘要。 |
|
| 被打包的软件的许可证。
如何在 |
|
| 有关软件的更多信息的完整 URL,例如,打包软件的上游项目网站。 |
|
| 到压缩的未打补丁的上游源代码的存档的路径或 URL。此链接必须指向存档的可访问且可靠的存储,例如上游页面,不是打包程序的本地存储。
您可以在指令名称的末尾使用或不使用号码应用 |
|
| 应用到源代码的第一个补丁的名称(如有必要)。
您可以在指令名称的末尾使用或不使用号码应用
您可以使用 |
|
| 将为之构建软件的架构
如果软件不依赖于架构,例如,如果您完全使用解释型编程语言编写软件,请将值设为 |
|
|
构建使用编译语言编写的程序所需的逗号或空格分开的软件包的列表。 |
|
|
安装之后,软件需要以逗号或空格分开的软件包列表。可以有多个 |
|
|
如果软件的一部分无法在特定的处理器架构上运行,您可以在 |
|
|
不必安装在系统上,以便您的软件在安装时可以正常工作的用逗号或空格分开的软件包的列表。可以有多个 |
|
|
|
|
|
如果您向软件包中添加了 |
Name、Version 和 Release (NVR)指令以 名称-版本-发行版本 格式组成 RPM 软件包的文件名。
您可以使用 rpm 命令查询 RPM 数据库来显示特定软件包的 NVR 信息,例如:
# rpm -q bash
bash-4.4.19-7.el8.x86_64
在这里,bash 是软件包名称,4.4.19 是版本,7el8 是发行版本。x86_64 标记是软件包架构。与 NVR 不同,架构标记不在 RPM 打包程序的直接控制之下,而是由 rpmbuild 构建环境定义。这种情况的例外是独立于架构的 noarch 软件包。