5.6. 检查 RPM 是否有常见错误
创建软件包后,您可能想要检查软件包的质量。检查软件包质量的主要工具是 rpmlint。
使用 rpmlint 工具,您可以执行以下操作:
- 提高 RPM 可维护性。
- 通过执行对 RPM 的静态分析来启用内容验证。
- 通过执行对 RPM 的静态分析来启用错误检查。
您可以使用 rpmlint 检查二进制 RPM、源 RPM (SRPM)和 spec 文件。因此,这个工具对打包的所有阶段都很有用。
请注意,rpmlint 有严格的准则。因此,有时跳过一些错误和警告是可以接受的,如以下部分中所示。
在以下部分中描述的示例中,rpmlint 会不带任何选项运行,这会产生一个非详细的输出。有关每个错误或警告的详细说明,请运行 rpmlint -i。
5.6.1. 检查 Bash 程序示例是否有常见错误 复制链接链接已复制到粘贴板!
在以下部分中,调查在检查 bello spec 文件、bello SRPM 和 bello 二进制 RPM 示例中可能出现的警告和错误。
5.6.1.1. 检查 bello spec 文件是否有常见错误 复制链接链接已复制到粘贴板!
检查以下示例的输出,以了解如何检查 bello spec 文件是否有常见错误。
对 bello spec 文件运行 rpmlint 命令的输出
$ rpmlint bello.spec
bello.spec: W: invalid-url Source0: https://www.example.com/bello/releases/bello-0.1.tar.gz HTTP Error 404: Not Found
0 packages and 1 specfiles checked; 0 errors, 1 warnings.
对于 bello.spec,只有一个 invalid-url Source0 警告。这个警告表示 Source0 指令中列出的 URL 不可访问。这是正常的,因为指定的 example.com URL 不存在。假设此 URL 在以后将有效,您可以忽略此警告。
5.6.1.2. 检查 bello SRPM 是否有常见错误 复制链接链接已复制到粘贴板!
检查以下示例的输出,以了解如何检查 bello 源 RPM (SRPM)是否有常见错误。
对 bello SRPM 运行 rpmlint 命令的输出
$ rpmlint ~/rpmbuild/SRPMS/bello-0.1-1.el9.src.rpm
bello.src: W: invalid-url URL: https://www.example.com/bello HTTP Error 404: Not Found
bello.src: W: invalid-url Source0: https://www.example.com/bello/releases/bello-0.1.tar.gz HTTP Error 404: Not Found
1 packages and 0 specfiles checked; 0 errors, 2 warnings.
对于 bello SRPM,有 invalid-url URL 警告,表示 URL 指令中指定的 URL 不可访问。假设此 URL 在以后将有效,您可以忽略此警告。
5.6.1.3. 检查 bello 二进制 RPM 是否有常见错误 复制链接链接已复制到粘贴板!
在检查二进制 RPM 时,rpmlint 命令会检查以下项目:
- Documentation
- man page
- 致地使用文件系统层次结构标准
检查以下示例的输出,以了解如何检查 bello 二进制 RPM 是否有常见错误。
对 bello 二进制 RPM 运行 rpmlint 命令的输出
$ rpmlint ~/rpmbuild/RPMS/noarch/bello-0.1-1.el9.noarch.rpm
bello.noarch: W: invalid-url URL: https://www.example.com/bello HTTP Error 404: Not Found
bello.noarch: W: no-documentation
bello.noarch: W: no-manual-page-for-binary bello
1 packages and 0 specfiles checked; 0 errors, 3 warnings.
no-documentation 和 no-manual-page-for-binary 警告意味着 RPM 没有文档或手册页,因为您没有提供。除了输出警告,RPM 通过了 rpmlint 检查。