贡献
参与其中,学习并享受乐趣!
参与其中,学习并享受乐趣!
YaST 是一个全球性的项目,来自世界各地的不同国家和文化的人们共同致力于一个目标——使 YaST 成为 Linux 上首屈一指的多功能计算工具。联系最快的方式是直接加入 irc.libera.chat 的 #yast IRC 频道。大多数 YaST 开发者都会在那里乐于助人并解答任何问题。
您还可以通过 yast-devel@opensuse.org 邮件列表联系大多数开发者并关注开发进度;订阅 它,查看 归档 或请求一封提供 邮件列表帮助 的邮件。
YaST 是一个复杂的系统,由多个组件和模块组成。您可以在 GitHub 的 YaST 组织 中找到所有这些组件。大多数组件是用 Ruby 编写的,具有高度的抽象性,并且一些核心组件使用 C 编写来处理图形堆栈。仍然存在一些用 Perl 或 YCP(YaST 控制编程语言)编写的小型遗留部分,但它们正在移植到 Ruby。
在 GitHub 上有 100 多个 YaST 仓库。如果定位正确的仓库是个问题,让 RPM 告诉您源包
$ rpm -qf --qf '%{SOURCERPM} (%{NVRA})\n' /usr/share/YaST2/scrconf/etc_idmapd_conf.scr
yast2-nfs-server-3.0.0-6.2.src.rpm (yast2-nfs-common-3.0.0-6.2.noarch)
例如,yast2-nfs-server 位于 yast-nfs-server 仓库中(请注意数字不存在)。
唯一的例外是 yast2.rpm 包,其代码位于 yast-yast2 仓库中,以及 autoyast2.rpm 包,其代码可以在 yast-autoinstallation 仓库中找到。
为了开始改进 YaST,您需要设置一个开发环境。最新的说明可以在 开发文档 中找到。
准备好开发环境并在 git 中克隆所需的 yast 模块后,yast-rake 提供的所有 rake 任务都将从您仓库的工作副本中可用。
修复或改进任何应用程序的第一步是了解它的工作方式以及它在每时每刻都在做什么。openSUSE wiki 有一个关于调试 YaST 的 综合指南。