归档:构建服务初级职位

跳转到:导航搜索
Icon-obsolete.png 本文关于开放构建服务的文档已过时!
您可以在 https://github.com/openSUSE/open-build-service/contribute 上找到最新的信息

此页面介绍 Open Build Service 的小型开放开发任务。这些任务是深入 OBS 开发和 Ruby on Rails 开发的良好起点。

我们收集了以下任务

帮助我们提高质量

OBS 带有测试套件来验证我们的代码。在部署或打包发布之前,测试套件会运行。因此,良好的测试套件将带来良好的产品。不幸的是,仍有许多领域未被测试套件覆盖,但幸运的是,编写更多测试很容易。 请在此处查看 了解如何运行和开发测试。

在 Web 用户界面中显示更多状态信息

后端已经知道很多数据,例如历史记录和状态信息,这些信息在 Web 客户端中不可见。这些信息可以通过 API 获得,但尚未通过我们的客户端访问。

这意味着您也不需要自己完整的 Open Build Service 进行开发。您只需要在您的系统上运行一个本地 Web 客户端,它使用我们的官方 Open Build Service 实例,位于 api.opensuse.org 之后。 您可以在此处了解如何在您的系统上运行它。

在 Web 界面中管理项目签名密钥

添加项目签名密钥的视图。详细信息可以在 功能请求 中找到。

改进软件包页面

当前软件包页面显示所有当前源,但除此之外一无所知。但是后端系统了解更多信息

  • 开放提交请求:提交请求是将更改合并到软件包中的请求。这可以使用“osc sr list”命令查看。但是,以一种好的方式查看软件包的开放提交请求、轻松查看更改以及批准或拒绝它们会很好。
  • 合并源链接:Web 客户端始终显示“未展开”的源。这意味着带有源链接的软件包显示“_link”文件加上补丁。后端提供展开源链接的功能,这意味着显示应用补丁后的源。Jan Loeser 几乎完成了此功能。
  • 提交日志:可以显示源提交日志。也许也显示差异。甚至还有一个功能可以恢复到这种状态:)

依赖关系助手

  • 您缺少一个软件包依赖项才能构建您的软件包?一个向导可以在这里提供很大的帮助,它应该搜索此依赖项,然后提供
    • 添加进一步的仓库以进行构建(如果您的平台存在软件包)
    • 源链接软件包(如果尚未为您的平台构建)

发布者改进

Open Build Service 发布者是一个相对简单的 Perl 脚本,因此它是一种深入后端源代码的简单方法。

发布者中支持 nu 文件

zypper 自 openSUSE 11.1 起支持 nu 文件。这些是仓库描述,允许添加进一步的仓库。这意味着,当用户添加 KDE:KDE4.3 仓库,并且打包者后来决定要将其构建到 KDE:Qt46 时,zypper 将自动使用此仓库。

有关此格式的背景信息可以在 和此 Duncan 的博客 中找到。

高级职位

这些对您来说太容易太无聊了吗?我们还有一些任务需要后端、API 前端和 Web 客户端的扩展。这意味着您需要 Open Build Service 的本地实例进行开发。

改进监控页面

  • 添加调度器统计信息:调度器已经收集了所有种类的统计信息,用于性能调整。文件 $BUILD_SERVICE_ROOT/info/schedulerinfo.$arch 包含有关调度器使用的资源、要处理的事件以及占用最多资源的项目的相关信息。这应该可以通过源和仓库服务器、API 请求,并在 Web 客户端中显示。
  • 添加仓库设置状态:调度器会发现软件包和仓库之间的依赖循环。此信息当前未存储在任何地方,但对开发人员非常有帮助。这项工作是将此信息存储在磁盘上,使其可以在 src、rep 服务器和 API 中请求,并在 Web 界面平台页面中显示。