这是欧洲夏季开始后的第三篇博客文章,也是连续第二次为两个开发冲刺撰写合并的博客文章。而且这也是连续第三份专注于现有代码库改进而非全新亮丽功能报告。涵盖的内容包括

  • 重新思考软件、键盘布局和 NTP 配置的一些方面
  • 对 yast2-users 内部进行大量工作
  • 改进 YaST 处理 libYUI 插件的方式
  • 软件包管理器中的视觉修复
  • 发布工具方面的更多进展

深入研究我们自己的历史

经过 22 年对同一代码库的持续开发,YaST2 的某些部分变得有些复杂也不足为奇。如您所知,我们最近投入时间尝试阐明其中一些内部机制。在这些最新的冲刺中,是时候检查 NTP 客户端的配置、键盘布局的行为、我们管理软件的方式以及在已安装的系统上管理用户和组了。

我们目前还没有太多完成的东西可以展示,但预计未来在这些四个领域会有重要的改变。关于用户管理,我们希望在下一篇博客文章中报告重大改进。其他三个领域的改变更侧重于中期目标,但我们将稳步推进。

优雅地处理缺失的 libYUI 组件

说到 YaST 历史和仍在不断发展的软件,我们不能忘记 libYUI——允许 YaST 在图形和文本模式下运行的基石。LibYUI 是一个模块化库,它提供多个后端(如 Qt 或 ncurses),以及一个插件系统来实现高级小部件。因此,用户可以仅安装其中一个后端或所有可用小部件的一个子集。但这种灵活性可能是一把双刃剑。

在本次冲刺中,我们改进了 YaST 处理需要缺失的插件和后端组合来执行用户请求的操作的情况。 这个 pull request 的描述 提供了对情况和已实施解决方案的详细概述,包括屏幕截图。

我们提到灵活性是有代价的了吗? :wink: 将 YaST 可以使用的不同方式乘以 (open)SUSE 发行版支持的所有架构和环境,您就会一窥可能出错的所有事情。

最近我们收到报告称 YaST 未在显示可以安装在系统中的补丁的列表中显示类别名称。由于它在所有我们尝试过的系统上都能正常工作,包括虚拟机和裸机,因此我们花了数周时间才重现该错误。但结果确实存在问题……仅在 Plasma 桌面上的 KVM 虚拟机中执行 YaST 时可见。

但我们最终捕获了该错误,您可以在 这个 pull request 的描述 中看到屏幕截图和相应的修复。

发布工具:润色

正如我们的读者已经知道的,YaST 团队也在努力帮助维护和发展 (open)SUSE 发布工具。而让源代码更易于维护的最佳方法就是删除它。因此,经过几个月的讨论,我们成功 识别并删除了 八个过时的工具。

我们还在改进文档,不仅针对仓库中的工具,还更新和扩展了 openSUSE wiki 中有关 openSUSE 开发过程的信息。最后,我们改进了工具的自动化测试,希望使其对过程的新手更易于理解。

更多新闻即将到来

希望下一份报告包含更多关于完成的工作和实际发布的功能的细节。与此同时,我们承诺继续努力,如果你们承诺继续享受乐趣!