*openUBMC bingo支持manifest对bingo工具的版本约束和自动升级-功能详细设计说明书*

<table>
    <tr>
        <td>所属SIG组:</td>
        <td>CICD</td>
    </tr>
    <tr>
        <td>落入版本:</td>
        <td>26.03</td>
    </tr>
    <tr>
        <td>设计人员:</td>
        <td>姚顺</td>
    </tr>
    <tr>
        <td>日期:</td>
        <td>2026.1.14</td>
    </tr>
</table>

**Copyright © 2026 openUBMC Community**

您对&quot;本文档&quot;的复制，使用，修改及分发受木兰宽松许可证, 第2版协议(以下简称&quot;MulanPSL2&quot;)的约束。
为了方便用户理解，您可以通过访问<https://license.coscl.org.cn/MulanPSL2>了解MulanPSL2的概要 (但不是替代)。
MulanPSL2的完整协议内容您可以访问如下网址获取：<https://license.coscl.org.cn/MulanPSL2>。

**改版记录**

<table>
    <tr>
        <th>日期</th>
        <th>修订版本</th>
        <th>修订描述</th>
        <th>作者</th>
        <th>审核</th>
    </tr>
</table>

**List of abbreviations**  **缩略语清单** ：

<table>
    <tr>
        <th>Abbreviations 缩略语</th>
        <th>Full spelling 英文全名</th>
        <th>Chinese explanation 中文解释</th>
    </tr>
</table>

[TOC]

# 1.功能分析
## 1.1 功能背景

当前manifest中存在rc/stable包时，可使用stage构建。
当前manifest中不存在rc/stable包时，直接使用subsys下的描述版本号。

## 1.2 功能描述

支持删除subsys下的rc/stable文件夹，统一维护一次版本号

## 1.3 功能场景

- 社区用户更新组件版本
- 在manifest下执行bingo build命令。

## 1.4 功能列表

| 功能编号 | 功能标题 | 功能描述 |
| ------- | ------- | -------- |
| 1 | bingo支持manifest删除rc包版本描述 | bingo支持manifest删除rc包版本描述 |


# 2.功能设计
## 2.1 总体方案分析

- manifest删除rc包，bingo支持正常出包
- bingo保留对老分支存在rc/stable出包命令的支持

### 2.1.1 方案详细设计
#### 2.1.1.1 方案概述

- 提供支持删除manifest rc/stable正常出包的能力

- manifest删除rc组件版本描述


#### 2.1.1.2 开发视图

![](./images/支持删除rc版本.png)

#### 2.1.1.3 运行视图

不涉及


### 2.1.2 内部依赖分析

不涉及

### 2.1.3 外部依赖分析

不涉及

### 2.1.4 北向接口分析

不涉及

### 2.1.5 兼容性分析

不涉及

### 2.1.6 定制化接口分析

不涉及

### 2.1.7 导入导出分析

不涉及

### 2.1.8 传感器分析

不涉及

### 2.1.9 精准告警事件分析

不涉及

### 2.1.10 系统锁定分析
不涉及

### 2.1.11 用例场景分析

| 场景  | 期望结果 |
| ---- | ---- | ---- | --- |
| 删除manifest rc包 | 正常构建| 
| 不删除manifest rc包 | 正常构建 |


# 3.功能实现

## 3.1【功能编号】bingo支持manifest对bingo工具的版本约束和自动升级
### 3.1.1 功能实现设计

- bingo覆盖stage描述

    当rc/stable文件夹存在使，使用文件夹下版本描述，当不存在时，使用subsys下文件描述

    流水线：不影响。

### 3.1.2 功能详细设计

代码实现逻辑

![](./images/支持删除rc版本.png)

### 3.1.3 开发者测试
功能覆盖验证，不涉及DT。

#### 3.1.3.1 单元测试
不涉及

#### 3.1.3.2 集成测试
不涉及