Skip to content

Commit

Permalink
chore: add rfc for exit packages
Browse files Browse the repository at this point in the history
Log:
  • Loading branch information
xzl01 committed Jun 14, 2023
1 parent 28993a3 commit a6b2380
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions rfcs/0003-exit-packages.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# 标题

- 提案发起时间:2023-06-14
- 提案拉取请求:https://github.com/deepin-community/rfcs/pull/4

## 概要

完善软件源中包退出的流程

## 动机

在维护deepin软件源的过程中,我们发现了一些软件包已经不再维护,但是仍然存在于软件源中,这些软件包可能会造成一些问题,例如:

1. 可能会造成用户的误用,导致用户的系统出现问题
2. 出现CVE漏洞,但是由于软件包已经不再维护,无法及时修复
3. 有新的软件包可以替代,但是由于软件包已经不再维护,无法及时替换

我们需要完善软件源中包退出的流程,以便及时发现软件包的退出,并及时通知用户。现有流程:https://wiki.deepin.org/zh/%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E7%AE%A1%E7%90%86

## 详细设计/制度正文

在deepin-community/SIG 仓库下新建一个新的配置文件exit-packages.yaml,用于记录软件包退出的信息,格式如下:

```yaml
- name: package_name # 软件包名称
version: package_version # 软件包版本
reason: package_exit_reason # 软件包退出原因(例如:不再维护、存在安全漏洞等)
replacement: package_replacement # 软件包的替代方案
exit_time: package_exit_time # 软件包退出时间(指的是节点时间,例如:2023-06-14)
exit_type: package_exit_type # 软件包退出类型(指的是软件包的类型,例如:main、dde、community等)
```
情况1:如果仅仅移除软件包,相关pr需要保留至少7天,以便社区成员进行讨论,如果没有反对意见,则可以合并pr,将软件包退出的信息添加到exit-packages.yaml中,在节点时间后将软件包移除,关闭pr。

情况2:如果软件包存在同名替换方案,在pr被提出且无反对意见后,将软件包替换为同名替换方案(CI源),并交由测试人员进行测试。(将测试流程pr关联至此pr)
在节点时间后将软件包更换为同名替换方案(软件源)并将软件包退出的信息添加到exit-packages.yaml中,关闭pr。

情况3:如果软件包出现严重CVE漏洞,需要立即移除软件包,需要在pr标题中引用CVE漏洞编号,由deepin-sysdev组进行投票处理,投票通过后,将软件包移除,并将软件包退出的信息添加到exit-packages.yaml中。

## 提案弊端

暂无

## 遗留问题

在情况3时无法同时用户卸载软件包,我们应该有一个页面告知用户风险

## 替代方案

暂无。

0 comments on commit a6b2380

Please sign in to comment.