From 18395b7fb45640f535f510dc7c0b478c00c2fdf1 Mon Sep 17 00:00:00 2001 From: xijing21 Date: Fri, 13 Feb 2026 18:18:12 +0800 Subject: [PATCH] docs: add partner-guide.md Signed-off-by: xijing21 --- Other/partner-guide.md | 201 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 Other/partner-guide.md diff --git a/Other/partner-guide.md b/Other/partner-guide.md new file mode 100644 index 000000000..d4944b7ad --- /dev/null +++ b/Other/partner-guide.md @@ -0,0 +1,201 @@ +# RuyiSDK 生态资源接入指南 + +RuyiSDK 团队诚挚邀请合作伙伴共同建设 RISC-V 开发生态,为广大开发者提供丰富、可靠的开发资源。为明确合作流程,现将当前支持的资源接入模式说明如下,欢迎有意向的伙伴与我们联系。 + +## 1. RuyiSDK 包管理体系简介 + +RuyiSDK 包管理器(以下简称"包管理器")专注于为 **RISC-V 架构开发者** 提供一站式的开发资源获取与管理体验,主要面向以下类型资源: + +- **RISC-V 专用工具链**:编译器、链接器、调试器等 +- **RISC-V 开发库和框架**:针对 RISC-V 优化的库文件、运行时环境 +- **RISC-V 系统与硬件支持**:操作系统镜像、固件、硬件适配驱动 +- **RISC-V 开发工具**:性能分析、模拟仿真、验证测试工具 +- **RISC-V 生态软件**:已移植到 RISC-V 架构的关键应用软件 +- **RISC-V 开发教学资源**:示例代码、教程文档、开发案例 + +**资源接入范围说明**: +我们优先接入**与 RISC-V 开发直接相关**的资源。对于通用的、非 RISC-V 特定的开发工具,建议通过其他渠道分发。如有不确定是否符合接入范围,欢迎在正式申请前与我们沟通确认。 + +体系架构如下: + +```mermaid +graph TD + subgraph "合作伙伴接入方式(三种)" + E[源码提供] + F[二进制包] + G[自有下载链接] + end + + subgraph "RuyiSDK 包管理器" + subgraph "核心服务层" + D[RuyiSDK构建服务] --> A[资源镜像源
(资源文件:源码/二进制/镜像/示例等)] + A --> B[包索引仓库
(软件包元数据:包名/版本/依赖/描述/哈希)] + end + + subgraph "客户端层" + C[包管理器工具
(查询/安装/更新/卸载)] + end + end + + E --> D + F --> A + G --> B + C --> B + + style A fill:#eeeeee + style B fill:#eeeeee + style C fill:#eeeeee + + style E fill:#e1f5fe + style F fill:#e1f5fe + style G fill:#e1f5fe +``` + +体系核心由以下三部分组成: + +- **包管理工具**:运行于开发者本地环境的客户端工具,支持在 Linux(兼容 Debian、Ubuntu、openEuler、Fedora、Arch Linux、Gentoo 等主流发行版,详见[RuyiSDK平台支持情况](https://ruyisdk.org/docs/Other/platform-support))的 x86_64、aarch64 及 riscv64 架构上执行资源的查询、安装、更新与卸载。 + + 📦 **项目地址** :[https://github.com/ruyisdk/ruyi](https://github.com/ruyisdk/ruyi) +- **包索引仓库**:集中存放软件包元数据(包名、版本、依赖关系、描述、哈希值等)的权威信息库。包管理器通过索引仓库获取软件包的定义信息,进而定位并获取资源文件。 + + 📚 **项目地址** :[https://github.com/ruyisdk/packages-index/](https://github.com/ruyisdk/packages-index/) +- **资源镜像源**:托管和分发实际资源文件(如源码包、预编译二进制、系统镜像、示例代码等)的服务平台,支持多种压缩格式与资源类型,提供高速、稳定的下载服务。 + + 🌐 **镜像源地址** :[https://mirror.iscas.ac.cn/ruyisdk/](https://mirror.iscas.ac.cn/ruyisdk/) + +合作伙伴可通过以下两种主要模式将资源接入该体系。 + +## 2. 资源接入模式 + +### 2.1 源码集成模式 + +此模式适用于提供开放源码的**RISC-V 相关软件项目**,由 RuyiSDK 团队负责构建与标准化分发。 + +**合作流程:** + +1. **资源提供**:合作伙伴提供软件项目的完整源代码,特别是需要明确 **RISC-V 架构的特殊支持或优化** 。 +2. **授权要求**:合作伙伴需授权 RuyiSDK 团队使用该源码进行构建,并将生成的二进制包通过 RuyiSDK 官方渠道进行分发。 +3. **构建与打包**:RuyiSDK 团队根据项目特点与合作伙伴的建议,完成 **针对 RISC-V 架构的跨平台编译** 、打包及质量测试。 +4. **发布与分发**: + - 构建生成的二进制包将上传至 **RuyiSDK 官方资源镜像源** 供用户下载。 + - 该软件包的元数据(定义信息)将提交至 **RuyiSDK 官方包索引仓库**,完成软件包的"注册"。 + +**优势与建议:** +此模式适合尚未建立独立分发体系的优质开源项目。我们鼓励合作伙伴同步提供打包建议或构建脚本,以确保最终分发的软件包能符合原项目的设计意图与特性。 + +### 2.2 二进制分发模式 + +此模式适用于已拥有成熟构建发布流程,或不便提供源码的**RISC-V 相关软件产品**。合作伙伴提供预编译好的二进制文件,由 RuyiSDK 体系负责索引与分发。 + +根据二进制文件的托管方式,提供以下两种子方案: + +#### 方案 A:镜像源托管分发 + +合作伙伴将构建好的二进制包交付给 RuyiSDK 团队,由其统一托管与分发。 + +**合作流程:** + +1. **资源提供**:合作伙伴提供已通过测试的二进制发布包,并明确其支持的系统架构及发行版兼容性。 +2. **授权要求**:合作伙伴需授权 RuyiSDK 团队对提供的二进制包进行再分发。 +3. **托管与测试**:RuyiSDK 团队将二进制包上传至 **RuyiSDK 官方资源镜像源**,并进行基础的兼容性验证。 +4. **发布与分发**: + - 二进制包通过 **RuyiSDK 官方资源镜像源** 提供下载。 + - 软件包元数据提交至 **RuyiSDK 官方包索引仓库**。 + +#### 方案 B:自有渠道直连分发 + +合作伙伴希望保持对二进制文件的完全控制,仅通过 RuyiSDK 体系提供发现与安装指引。 + +**合作流程:** + +1. **资源提供**:合作伙伴维护其软件包的公开下载链接,并将该链接提供给 RuyiSDK 团队。 +2. **技术要求**:下载服务器需允许携带 `User-Agent: ruyi/<版本号>` 头信息的 HTTP/HTTPS 请求访问,且**不支持**需要交互式登录或复杂鉴权的流程。对下载服务器而言,该请求与常规的 `wget` 或 `curl` 命令无异。 +3. **发布与分发**: + - 二进制包通过 **合作伙伴的自有下载渠道** 直接分发。 + - 软件包元数据(其中包含下载链接)提交至 **RuyiSDK 官方包索引仓库**。用户通过包管理器安装时,将直接从合作伙伴的服务器获取文件。 + +**重要注意事项与维护要求:** + +采用此模式时,**合作伙伴需承担二进制文件生命周期管理的主要责任**,包括: + +- **链接稳定性承诺**:应确保提供的下载链接具备长期稳定性。建议使用具备持久性的 URL 策略(如内容寻址链接、版本化路径等),避免因网站改版或目录结构调整导致链接失效。 +- **版本维护一致性**:当发布新版本时,需同步更新 RuyiSDK 包索引仓库中的元数据信息,确保版本号、哈希值、更新日志等信息的准确性和时效性。 +- **失效应急响应**:若因不可抗力导致下载链接变更或失效,应**在48小时内**通过提交 Issue 或 Pull Request 的方式更新包索引仓库中的相关信息,避免影响开发者正常使用。 +- **兼容性声明责任**:合作伙伴需自行确保二进制包与声明支持的平台和架构的兼容性,并在环境变更时及时更新兼容性说明。 +- **长期维护预期**:建议仅在确保软件包具备至少**6个月**维护期的情况下选择此模式,避免短期项目对开发者造成困扰。 + +**技术对接方式:** +对于方案 B,技术能力较强的合作伙伴可以直接向 [RuyiSDK 包索引仓库](https://github.com/ruyisdk/packages-index) 提交 Pull Request,参考仓库中的贡献指南添加或修改软件包定义。我们鼓励采用自动化的方式同步版本信息,如通过 CI/CD 流程在发布新版本时自动更新包索引。 + +## 3. 协作流程 + +为便于合作伙伴高效、顺畅地完成资源接入,我们建议按以下步骤规范开展合作: + +### 步骤一:资源接入需求的沟通与申请 + +为方便合作伙伴灵活选择接入方式,我们提供以下两种并行的需求提交渠道。您可根据自身情况选择最便捷的方式与我们建立对接。 + +**(1)方式一:直接提交接入申请** +对于需求明确、熟悉 GitHub 工作流的合作伙伴,建议直接在 [RuyiSDK 包索引仓库](https://github.com/ruyisdk/packages-index) 创建 Issue,参考以下模板提供详细信息。此方式可最大程度减少沟通成本,加速接入进程。 + +```markdown +## 资源接入申请 + +### 基本信息 +- **资源名称**: +- **当前版本**: +- **项目官网/仓库**: +- **许可证类型**: +- **希望采用的接入模式**:□ 源码集成 □ 二进制分发-镜像源托管 □ 二进制分发-自有渠道 + +### 技术信息 +- **支持的系统架构**:□ x86_64 □ aarch64 □ riscv64 +- **支持的发行版/环境**: +- **资源类型**:□ 工具链 □ 库文件 □ 开发工具 □ 系统镜像 □ 其他(请说明) + +### 接入详情(根据所选模式填写) + +#### 若选择源码集成: +- 源码仓库地址: +- 构建依赖要求: +- 特殊的构建步骤或注意事项: +- 授权声明:□ 我代表版权方授权 RuyiSDK 团队使用上述源码构建并分发二进制包 + +#### 若选择二进制分发-镜像源托管: +- 二进制包下载地址(或交付方式): +- 哈希值(SHA256): +- 已测试的平台清单: +- 授权声明:□ 我代表版权方授权 RuyiSDK 团队对上述二进制包进行再分发 + +#### 若选择二进制分发-自有渠道: +- 稳定版下载链接模式(可使用版本变量如 {version}): +- 是否提供多架构包:□ 是 □ 否 +- 下载服务器技术要求确认:□ 确认支持带 User-Agent 头的匿名 HTTP/HTTPS 访问 +- **维护承诺**:□ 确认理解并承诺履行上述维护责任,确保链接长期有效 + +### 联系人信息 +- 姓名/团队: +- 邮箱: +- 其他联系方式(可选): +``` + +**(2)方式二:邮件咨询与申请** +如您对接入模式选择、资源相关性判断等方面存在疑问,或希望通过人工沟通明确需求,欢迎通过 RuyiSDK 官方联系邮箱 [contact@ruyisdk.cn](mailto:contact@ruyisdk.cn?subject=RuyiSDK%20资源接入申请) 与我们取得联系,简要说明希望接入的 RISC-V 资源概况。 + +我们将在 3 个工作日内回复您的邮件,并协助完成后续对接流程。 + +### 步骤二:技术对接与授权 + +1. RuyiSDK 团队审核 Issue 信息,确认资源与 RISC-V 开发的相关性及技术可行性 +2. 合作伙伴按要求提供正式授权文件或声明 +3. 双方确认技术对接细节 + +### 步骤三:集成与发布 + +根据选择的接入模式,完成资源集成、测试并正式发布。 + +--- + +**说明**:对于选择“二进制分发-自有渠道”模式的合作伙伴,如熟悉 Git 工作流,欢迎直接 Fork 包索引仓库并提交 Pull Request。我们将安排专人优先处理此类技术贡献,达到更快的接入速度。 + +我们期待与您携手,共同丰富 RISC-V 开发生态!