openSUSE:编译服务新手任务

跳转至: 导航, 搜索

Icon-translate.png 本文需要翻译!
请参考这篇文章的 讨论 页面,以获得进一步资讯。


此页面是关于开放式编译服务的简单的开放的开发任务。这些任务可以作为深入了解 OBS 开发和 Ruby on Rails 开发的良好起点。

我们搜集了如下任务:

帮助我们改进质量

OBS 有一系列测试套装可以检验我们的代码。测试套装在我们部署或打包之前会运行。因此一个好的测试套装就意味着一个好的产品。很不幸当前好多领域都还没被测试套装覆盖,但幸运的是写这样的测试脚本非常简单。来这里 学习如何运行和开发测试脚本。

在网页用户界面上显示更多状态信息

后端知道好多如历史和状态信息这样在网页客户端上还看不到的数据。这些信息已经可以通过 API 查询,但目前我们的客户端还查不到。

这也意味着您不需要运行一个完整的自有开放式编译服务来开发。您只需要在您的系统上跑一个本地网页客户端,该客户端使用 api.opensuse.org 背后的官方编译服务实例。 您可以在这里找到使它运行在自己的系统上的方法。

显示历史要求

项目和软件包的页面包含了选项,可以查看过去对项目或软件包的要求。“已接受”的要求被放在首位。

对项目功能的要求.

在网页界面管理项目的签名密钥

在项目里为签名密钥添加一个视图。详细信息请戳 对功能的要求.

完善软件包页面

现在,软件包页面拥有目前所有的源,但仅此而已。不过,后台系统对它拥有更多的信息:

  • 开放的提交请求: 提交请求是用于将变更与软件包合并的请求。这也可以被看作 "osc sr list" 的命令。然而,如果有一个更好的方法来查看对软件包的提交请求,有一个更简便的方法来查看更改,来批准或拒绝请求的话,可能会更好。
  • 合并源链接: Web客户端总是显示“未展开”的源。这意味着包含源链接的软件包会显示"_link"以及补丁文件。后台会主动扩展源链接,这意味着它能够显示打上补丁的项目源。 当然,如果视图中有显示合并后源的选项,可能会更好。几乎由 Jan Loeser 完成。
  • 提交日志: 能够显示提交源的日志信息。或许也可以显示文件的差异。甚至一个恢复版本的函数。

依赖关系助手

  • 要建立您的软件包还缺少一个软件包的依赖关系?向导能够帮助到你,它会搜索这个依赖关系,然后提供给你:
    • 当你的平台存在那个软件包的时候,进一步添加软件库来编译
    • 如果它还未在您的平台编译过,那么源会链接这个软件包

发布器的改进

开放式编译服务发布器是一个相对简单的Perl脚本,因此找到后台的源比较容易。

发布器对 nu 文件的支持

自 openSUSE 11.1 版后,zypper 支持 nu 文件。这些都是软件库的描述信息,并允许你添加更多的软件库。这也就是说,当用户添加软件库 KDE:KDE4.3 包管理器也会知道他想要建立它而不是 KDE:Qt46 ,zypper 也会自动使用这个软件包。

关于这种格式的背景信息可以在这里Duncan 的博客中找到。

Senior Jobs

你觉得这些都是简单无聊的? 我们在后台,API前端,以及web客户端也有需要拓展的工作。 这就意味着你需要在本地搭建一个开放式编译服务的实例,以备后续。

完善监控页面

  • 添加调度统计:调度器、程序已经收集了各种统计数据,以便性能优化。文件 "$BUILD_SERVICE_ROOT/info/schedulerinfo.$arch" 包含了许多信息,包括调度程序使用过的资源,将要处理的任务,以及哪些项目消耗最多的资源。而通过源和资源服务器以及API程序,这些就变成可知的了,还能显示在web客户端上。
  • Add repo setup status: The scheduler does find out about dependency loops between packages and repositories. This information is currently not stored anywhere but would be very helpful for developers. The job is to stored this information on disk, make it requestable in src, rep server and api. And last but not least display it in the Web interface platform page.