危险
本文档最初写于 2021 年初 Rocky Linux 引导初期。页面内容保留用于历史记录,但已轻微编辑以修复链接、提供背景信息或删除不再相关的说明,以防止混淆。本文档将被归档。
首先熟悉 Mock 构建工具¶
完成以上内容后,对于我们的软件包调试工作,最重要且最相关的技术/入门页面是这个
https://wiki.rocky-linux.cn/archive/legacy/mock_building_guide/
我们正在使用“mock”程序进行构建,这与真实的 Rocky 基础设施将要做的一样。您应该安装它并熟悉它。请使用本指南开始,并解释一下我们希望达到什么目标以及为什么我们必须按特定顺序构建所有这些软件包。
请仔细阅读这些内容,也许可以通过向 mock 提供一两个 SRPM 来尝试编译一些东西,初步体验一下。
Mock 非常棒,它是一个易于调用的程序,可以在 chroot 环境中构建一个完整的系统来进行编译,然后在完成后进行清理。
请使用 EPEL 中的 mock
包提供的 Rocky Linux 的 mock 配置。
简介 - 需要做什么¶
目前我们最需要帮助的领域,也是最容易做出贡献的方式,是协助排查失败的软件包构建。
我们正在“练习”重建 CentOS 8.3,以便提前找出官方 Rocky 构建中出现的任何问题。我们正在记录我们发现的软件包错误以及如何修复它们(以便能够构建)。这些文档将在官方构建时帮助我们的发布工程团队。
协助调试工作¶
一旦您熟悉了 Mock,特别是调试其输出,您就可以开始查看失败的软件包。其中一些信息也在上面链接的 Mock 操作指南页面上。
让其他调试人员知道您正在做什么!我们不希望重复劳动。请加入 chat.rockylinux.org (#dev/packaging 频道) 并告知我们!
使用我们正在使用的最新配置(上面链接)设置您的 mock 程序。您可以使用它以我们相同的方式(包括外部依赖项、额外的仓库等)尝试构建。
调查错误。
找出问题所在以及如何修复。这可能需要特殊的 mock 设置,或者向程序 + spec 文件添加补丁。将您的发现报告给 #Dev/Packaging 频道,然后会有人将其记录在上面链接的 Wiki Package_Error_Tracking 页面上。
其理念是减少构建失败数量,并扩展 Package_Error_Tracking 页面。如有必要,我们将把构建修复提交到我们位于此处的各个软件包的补丁仓库: https://git.rockylinux.org/staging/patch。