6.4.2. 修改原始 spec 文件
通过修改 rpmdev-newspec 实用程序生成的原始输出 spec 文件,为 rpmbuild 实用程序提供必要的指令。然后,rpmbuild 使用这些指令来构建 RPM 软件包。
先决条件
-
未填充的
~/rpmbuild/SPECS/<name>.specspec文件是使用rpmdev-newspec工具创建的。如需更多信息,请参阅 为 Bash、Python 和 C 程序示例创建一个新的 spec 文件。
流程
-
打开
rpmdev-newspec工具提供的~/rpmbuild/SPECS/<name>.spec文件。 填充
spec文件 Preamble 部分的以下指令:-
名称: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:指定软件包的构建时依赖项。 -
需要:指定软件包的运行时依赖项。 -
BuildArch:指定软件架构。
-
填充
spec文件 Body 部分的以下指令:您可以将这些指令视为部分标题,因为这些指令可以定义要发生的多行、多指令或脚本化任务。-
%description:输入软件的完整描述。 -
%prep:输入命令或一系列命令来准备软件进行构建。 -
%conf:输入命令或一系列命令来配置要构建的软件。 -
%build:输入命令或一系列用于构建软件的命令。 -
%install:输入命令或一系列命令,指示rpmbuild命令如何将软件安装到BUILDROOT目录中。 -
%files:指定要在系统上安装的 RPM 软件包提供的文件列表。 %changelog:输入软件包的每个Version-Release的日期条目列表。启动带有一个星号(
*)字符,后跟Day-of-Week Month Day Year Name Surname <email> - Version-Release的%changelog部分的第一行对于实际更改条目,请遵循这些规则:
- 每个更改条目都可以包含多个项,每个代表一个更改。
- 每项都从新行开始。
-
每项都以连字符(
-)字符开头。
-