软件包审阅指南
这个文档讲述了 openRuyi 审阅软件包的策略。
这是一篇用于软件包 PR 审阅的指南。请注意,要列出一个详尽无遗的检查清单是不可能的,但本文档已尽力做到全面。每当遇到不明确的事项时,审核人员和贡献者(打包者)都应运用自己的最佳判断。
审核人员需要检查的事项
本列表旨在帮助新的审核人员识别他们应关注的内容,但这绝不是一份完整的清单。审核人员在审查软件包时应运用自己的良好判断。
以下是必须要遵守的事项:
-
必须对源码 RPM (source rpm) 以及构件产生的所有二进制 RPM (binary rpms) 运行 rpmlint。其输出应该附在 PR 中。
-
软件包的 spec 文件必须清晰易读。
-
spec 文件必须使用美式英语书写。
-
用于构建软件包的源码必须与 spec URL 字段中提供的上游源码相匹配。
-
软件包必须能在 riscv64 上成功编译和构建为二进制 RPM。
-
所有的构建依赖必须在
BuildRequires字段中列出。 -
spec 文件必须正确处理本地化 (locales)。即,需要通过 %find_lang 宏来完成这个操作,而不是使用
%{_datadir}/locale/*。 -
大型文档文件必须放入
-doc子软件包中。("大型"的定义留给打包者自行判断,但不仅限于大小。"大型"可以指大小或数量)。 -
开发文件必须放在
-devel软件包中。 -
静态库必须放在
-static软件包中。 -
不得在 spec 文件的
%files列表中多次列出同一个文件。许可证文本在特定情况下除外。 -
文件的权限必须设置正确。例如,可执行文件应设置可执行权限。
-
软件包不得包含任何
.lalibtool 归档文件,如果构建时生成了这些文件,必须在 spec 中将其移除。- 通常在构建时已经会自动移除这些文件。
-
RPM 软件包中的所有文件名必须是有效的 UTF-8 编码。
以下是应当要注意的事项:
-
审核人员应当测试该软件包是否能在
mock中构建。 -
pkgconfig (.pc) 文件的放置位置取决于其用例,通常它们用于开发目的,因此应当放在
-devel包中。一个合理的例外是,主包本身就是一个开发工具,不会安装在用户运行时环境中,例如gcc或gdb。