# rpm_info **Repository Path**: numzone/rpm_info ## Basic Information - **Project Name**: rpm_info - **Description**: 记录opencloudos strem 各类包信息 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 12 - **Created**: 2023-09-07 - **Last Updated**: 2024-04-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 软件包管理 - **源码包管理**:软件包按 sig 进行分类,新增仓库、修改仓库所属sig/衰退仓库、删除仓库都需要修改 rpm_info/packages.yaml 文件实现 - **二进制包管理**:二进制包由 `baseos.list`、`appstream.list`、`epol.list`、`deprecated.list` 四个文件管理所属源 ## 新增软件包 1. **自检查**:确认当前仓库及 packages.yaml 文件中**不存在**该软件包 2. fork 仓库:https://gitee.com/OpenCloudOS/rpm_info 2. clone 仓库:`git clone git@gitee.com:/rpm_info.git` 3. **源码包管理**:修改 packages.yaml,将新增软件包名添加到合适的 sig-packages 列表尾端 4. **二进制包管理**:新增软件包默认进入EPOL仓库,无需手动修改 4. 提交 pull request:记录**新增原因** 5. 等到流水线结果:根据修改内容返回解析结果,请检查解析结果是否符合预期 6. 人工审核 7. 自动化新增软件包,返回仓库链接 ## 衰退软件包 1. **自检查**:确认当前仓库及 packages.yaml 文件中**存在**该软件包 2. fork 仓库:https://gitee.com/OpenCloudOS/rpm_info 2. clone 仓库:`git clone git@gitee.com:/rpm_info.git` 3. **源码包管理**:修改 packages.yaml,将衰退的软件包移动到 deprecated sig 4. **二进制包管理**:将衰退软件包对应的所有二进制软件,从原始列表移到deprecated.list中,并确认没有其他二进制包依赖该衰退软件包。(比如,假设appstream-data这个软件需要衰退,它存在于appstream.list中,那么就需要删除appstream.list中 appstream-data 所有二进制包,添加到 deprecated.list,才算完成 appstream-data 的衰退操作。) 4. 提交 pull request:记录**衰退原因** 5. 等到流水线结果:根据修改内容返回解析结果,请检查解析结果是否符合预期 6. 人工审核 7. 自动化衰退软件包 ## 删除软件包 1. **自检查**:确认该软件包已经被**衰退**(仅允许删除 deprecated sig 中已经被衰退的软件包),并且有必要删除 2. fork 仓库:https://gitee.com/OpenCloudOS/rpm_info 2. clone 仓库:`git clone git@gitee.com:/rpm_info.git` 3. **源码包管理**:修改 packages.yaml,将软件包名所在行删除 4. **二进制包管理**:将被删除软件包对应的所有二进制包,从所在列表中删除。 4. 提交 pull request:记录**删除原因** 5. 等到流水线结果:根据修改内容返回解析结果,请检查解析结果是否符合预期 6. 人工审核 7. 自动化删除软件包 ## 修改软件包 ### 修改软件包 sig 1. **自检查**:确认当前仓库及 packages.yaml 文件中**存在**该软件包 2. fork 仓库:https://gitee.com/OpenCloudOS/rpm_info 2. clone 仓库:`git clone git@gitee.com:/rpm_info.git` 3. **源码包管理**:修改 packages.yaml,将软件包从原始sig中删除,并添加到新sig中 4. **二进制包管理**:仅修改软件包 sig,无需修改二进制包 4. 提交 pull request:记录**修改原因** 5. 等到流水线结果:根据修改内容返回解析结果,请检查解析结果是否符合预期 6. 人工审核 7. 自动化修改软件包 sig ### 修改二进制包所在源 1. **自检查**:确认当前仓库及 packages.yaml 文件中**存在**该软件包 2. fork 仓库:https://gitee.com/OpenCloudOS/rpm_info 2. clone 仓库:`git clone git@gitee.com:/rpm_info.git` 3. **源码包管理**:无需修改 packages.yaml 4. **二进制包管理**:确认移动后不影响其他软件包的安装,从原始列表移到新列表中。(例如,BaseOS 中的软件包不能依赖其他源中的软件包,AppStream 中的软件包仅依赖 BaseOS + AppStream 源) 4. 提交 pull request:记录**修改原因** 5. 等到流水线结果:根据修改内容返回解析结果,请检查解析结果是否符合预期 6. 人工审核 7. 自动化移动软件包所在源 ## 常见问题 - 某些软件包无法解析 - 如果无法解析软件包,请检查 **自检查** 条件是否满足,以及修改内容是否包含空格等无效字符,若仍然有问题请提issue方便后续跟踪处理 - 能否同时增加、删除、修改软件包 - 可以。请确认流水线返回解析结果符合预期即可。此外建议一个 PR 只做一件事情