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