openSUSE:YaST: 代码组织

跳转到:导航搜索

Git 仓库中的组织结构

  • CONTRIBUTING.md 描述项目贡献的相同文件。对于新项目,只需复制现有的文件即可。更改将自动应用于所有项目
  • README.md 项目描述 TODO 链接到模板
  • MAINTAINER 模块当前维护者的电子邮件联系方式
  • RPMNAME rpm 源代码包的名称。需要用于将软件包构建为 rpm
  • testsuite/ 旧的已弃用的测试套件。对于新的测试,请参阅 test 目录。用于防止回归。
  • src/ 包含模块的源代码,分为子目录。对于新的 Yast 模块,最重要的子目录是 libclients
    • clients/ 由 Yast 执行的脚本。可以通过调用 /usr/sbin/yast2 <client_name> 来执行客户端。有一些特殊的 前缀或后缀标记需要用于安装的特殊客户端。inst_* 用于安装向导工作流程中使用的客户端。*_proposal 用于在摘要页面上由 proposal 客户端显示的客户端 TODO 链接到关于此类客户端的方法的文档。*_auto 用于自动安装的客户端。*_finish 用于在安装结束时编写配置的客户端。
    • lib/ 包含不含任何 Yast 魔术的 Ruby 代码。此目录的内容将添加到 Ruby 加载路径中。
    • modules/ 连接到 Yast 组件系统的单例模块。用于在模块之间共享功能的场所。文件名必须遵循 Rails 约定来命名 Ruby 模块,例如 network_interfaces.rb 用于 NetworkInterfaces 模块。所有模块必须位于 Yast 命名空间下,例如 Yast::YAPI::Network 模块是可能的。
    • include/ 旧的已弃用的共享代码方式,然后直接包含。对于新代码,请在 lib 目录中使用通用的 Ruby 模块。
    • desktop/ 包含 桌面文件,用于在 yast 控制中心中进行条目
    • servers_non_y2/ 代理 实现
    • scrconf/ 代理 配置,实例化实现并将它们绑定到 挂载点
    • fillup/ 模板用于 /etc/sysconfig 配置文件,由 fillup 处理
    • autoyast-rnc/ XML 模式 用于 AutoYaST 配置文件
    • data/ YCP 数据结构,在由 .target.yast2 代理读取时使用。 有关详细信息,请参阅 YaST2 Core 文档。