openSUSE:Leap 开发流程

跳转到:导航搜索


本文将为您提供 openSUSE Leap 的开发生命周期和概念的视角。它旨在解释创建 Leap 基于 SLE 的不同步骤以及如何构建发布版本。

openSUSE Leap 开发流程的概念和步骤

  • Leap 版本-1 的所有维护更新都会自动推送(在版本冻结之前整个周期内)
  • 所有 SLE15SPx 更新都会自动推送(在整个周期内)
  • 最初来自 Factory 的所有软件包,如果希望在下一个 Leap 版本中进行更新,则应由维护者重新提交。必须牢记 Leap 的目标受众和无缝升级过程。为了支持这一点并确保没有遗漏任何内容,在生命周期内,一个工具将检查所有具有 Factory 起源的软件包,以查看它们在开发的 Leap 中是否成功构建,并执行维护者可以轻松接受的提交。未接受的请求将不被包含。
  • 在整个有效时间内,来自 Factory 到 Leap 的提交将被考虑接受,如果软件包构建成功且之前未来自 SLE15。提交需要由维护者执行,或者如果没有,维护者必须批准更新。
  • 如果应将软件包从 SLE15 切换到 Factory 或反之亦然,将为 leap-reviewers 组触发审查流程
  • 由于某些原因从 SLE15 _和_ Factory 分叉的软件包,必须审查它们是否可以重新上游到 SLE15 或 Factory
  • SLE15 或 Factory 中的新软件包应审查是否包含到 Leap 中;自动工具提交将/可能被执行

可以找到用于管理上述某些步骤的 OBS 工具:https://github.com/openSUSE/osc-plugin-factory

Leap 发布工程

发布工程日常事务

检查暂存

https://build.opensuse.org/project/staging_projects/openSUSE:Leap:15.2

   osc staging -p openSUSE:Leap:15.2 list
   osc staging -p openSUSE:Leap:15.2 check
   osc staging -p openSUSE:Leap:15.2 select X package ...
   osc staging -p openSUSE:Leap:15.2 unselect -m "message" package ...
  • 调试失败
  • 检查开放的审查,例如,如果需要,联系审查团队,检查 legal-auto 在做什么,验证 repo-checker 是否未卡住等。
  • 确保软件包以合理的方式分组
  • 取消选择并标记为忽略当前无法暂存的请求
  • 拒绝我们无法接受的请求

确保环状态良好

https://build.opensuse.org/project/dashboard/openSUSE:Leap:15.2

  • 调试失败
  • 触发重建
  • 如果需要,添加/删除软件包

检查目标项目中的构建失败和无法解决的问题

https://build.opensuse.org/project/show/openSUSE:Leap:15.2
https://build.opensuse.org/project/status/openSUSE:Leap:15.2

  • 调试原因
  • 提交错误或联系维护者
  • 针对随机失败触发重建

使 openQA 状态良好

https://openqa.opensuse.org/group_overview/50

  • 调试失败
  • 提交问题和错误
  • 重新启动因 openQA 问题而失败的任务
  • 为我们可以忽略的失败添加 @ttm ignore(在提交问题后)

检查仓库检查器输出中的新失败

rebuildpacs 查找具有无法安装的依赖项的软件包
https://build.opensuse.org/package/view_file/openSUSE:Leap:15.2:Staging/dashboard/rebuildpacs.openSUSE:Leap:15.2-standard.yaml(忽略 i586,它仅用于 baselibs 因此不完整)

  • 调试失败
  • 联系维护者或提交错误

检查 ADI 暂存

   osc staging -p openSUSE:Leap:15.2 adi --by-devel
  • 调试失败
  • 验证软件包是否正确分组。如果需要,请移动。
  • 如果需要,提醒打包者进行审查
  • 拒绝没有机会或停滞不前的请求

处理 leap-reviewers 队列

  osc review list -G leap-reviewers
  • 确认简单的请求。
  • 拒绝明显过于危险的功能更新或来源切换,尤其是来自 SLE
  • 对于不明确的问题,通知发布经理

签入 ♦

  osc staging -p openSUSE:Leap:15.2 accept X Y ...
  • 确保将暂存中进行的更改也应用于环
  • 如果需要,调整 _product 文件

错误列表

https://bugzilla.opensuse.org/buglist.cgi?list_id=6617721&product=openSUSE%20Distribution&resolution=---&version=Leap%2015.2

  • 关注传入的错误
  • 通常,错误筛选团队负责分配错误,但我们可能希望对重要错误执行此操作
  • 提高重要错误的优先级和严重性
  • 如果需要,设置停止发货标志