Zum Hauptinhalt springen

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[资源镜像源<br/>(资源文件:源码/二进制/镜像/示例等)]
            A --> B[包索引仓库<br/>(软件包元数据:包名/版本/依赖/描述/哈希)]
        end
  
        subgraph "客户端层"
            C[包管理器工具<br/>(查询/安装/更新/卸载)]
        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平台支持情况)的 x86_64、aarch64 及 riscv64 架构上执行资源的查询、安装、更新与卸载。

    📦 项目地址https://github.com/ruyisdk/ruyi

  • 包索引仓库:集中存放软件包元数据(包名、版本、依赖关系、描述、哈希值等)的权威信息库。包管理器通过索引仓库获取软件包的定义信息,进而定位并获取资源文件。

    📚 项目地址https://github.com/ruyisdk/packages-index/

  • 资源镜像源:托管和分发实际资源文件(如源码包、预编译二进制、系统镜像、示例代码等)的服务平台,支持多种压缩格式与资源类型,提供高速、稳定的下载服务。

    🌐 镜像源地址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 请求访问,且不支持需要交互式登录或复杂鉴权的流程。对下载服务器而言,该请求与常规的 wgetcurl 命令无异。
  3. 发布与分发
    • 二进制包通过 合作伙伴的自有下载渠道 直接分发。
    • 软件包元数据(其中包含下载链接)提交至 RuyiSDK 官方包索引仓库。用户通过包管理器安装时,将直接从合作伙伴的服务器获取文件。

重要注意事项与维护要求:

采用此模式时,合作伙伴需承担二进制文件生命周期管理的主要责任,包括:

  • 链接稳定性承诺:应确保提供的下载链接具备长期稳定性。建议使用具备持久性的 URL 策略(如内容寻址链接、版本化路径等),避免因网站改版或目录结构调整导致链接失效。
  • 版本维护一致性:当发布新版本时,需同步更新 RuyiSDK 包索引仓库中的元数据信息,确保版本号、哈希值、更新日志等信息的准确性和时效性。
  • 失效应急响应:若因不可抗力导致下载链接变更或失效,应在48小时内通过提交 Issue 或 Pull Request 的方式更新包索引仓库中的相关信息,避免影响开发者正常使用。
  • 兼容性声明责任:合作伙伴需自行确保二进制包与声明支持的平台和架构的兼容性,并在环境变更时及时更新兼容性说明。
  • 长期维护预期:建议仅在确保软件包具备至少6个月维护期的情况下选择此模式,避免短期项目对开发者造成困扰。

技术对接方式: 对于方案 B,技术能力较强的合作伙伴可以直接向 RuyiSDK 包索引仓库 提交 Pull Request,参考仓库中的贡献指南添加或修改软件包定义。我们鼓励采用自动化的方式同步版本信息,如通过 CI/CD 流程在发布新版本时自动更新包索引。

3. 协作流程

为便于合作伙伴高效、顺畅地完成资源接入,我们建议按以下步骤规范开展合作:

步骤一:资源接入需求的沟通与申请

为方便合作伙伴灵活选择接入方式,我们提供以下两种并行的需求提交渠道。您可根据自身情况选择最便捷的方式与我们建立对接。

(1)方式一:直接提交接入申请 对于需求明确、熟悉 GitHub 工作流的合作伙伴,建议直接在 RuyiSDK 包索引仓库 创建 Issue,参考以下模板提供详细信息。此方式可最大程度减少沟通成本,加速接入进程。

markdown
## 资源接入申请

### 基本信息
- **资源名称**- **当前版本**- **项目官网/仓库**- **许可证类型**- **希望采用的接入模式**:□ 源码集成 □ 二进制分发-镜像源托管 □ 二进制分发-自有渠道

### 技术信息
- **支持的系统架构**:□ x86_64 □ aarch64 □ riscv64
- **支持的发行版/环境**- **资源类型**:□ 工具链 □ 库文件 □ 开发工具 □ 系统镜像 □ 其他(请说明)

### 接入详情(根据所选模式填写)

#### 若选择源码集成:
- 源码仓库地址:
- 构建依赖要求:
- 特殊的构建步骤或注意事项:
- 授权声明:□ 我代表版权方授权 RuyiSDK 团队使用上述源码构建并分发二进制包

#### 若选择二进制分发-镜像源托管:
- 二进制包下载地址(或交付方式):
- 哈希值(SHA256):
- 已测试的平台清单:
- 授权声明:□ 我代表版权方授权 RuyiSDK 团队对上述二进制包进行再分发

#### 若选择二进制分发-自有渠道:
- 稳定版下载链接模式(可使用版本变量如 {version}):
- 是否提供多架构包:□ 是 □ 否
- 下载服务器技术要求确认:□ 确认支持带 User-Agent 头的匿名 HTTP/HTTPS 访问
- **维护承诺**:□ 确认理解并承诺履行上述维护责任,确保链接长期有效

### 联系人信息
- 姓名/团队:
- 邮箱:
- 其他联系方式(可选):

(2)方式二:邮件咨询与申请 如您对接入模式选择、资源相关性判断等方面存在疑问,或希望通过人工沟通明确需求,欢迎通过 RuyiSDK 官方联系邮箱 contact@ruyisdk.cn 与我们取得联系,简要说明希望接入的 RISC-V 资源概况。

我们将在 3 个工作日内回复您的邮件,并协助完成后续对接流程。

步骤二:技术对接与授权

  1. RuyiSDK 团队审核 Issue 信息,确认资源与 RISC-V 开发的相关性及技术可行性
  2. 合作伙伴按要求提供正式授权文件或声明
  3. 双方确认技术对接细节

步骤三:集成与发布

根据选择的接入模式,完成资源集成、测试并正式发布。


说明:对于选择“二进制分发-自有渠道”模式的合作伙伴,如熟悉 Git 工作流,欢迎直接 Fork 包索引仓库并提交 Pull Request。我们将安排专人优先处理此类技术贡献,达到更快的接入速度。

我们期待与您携手,共同丰富 RISC-V 开发生态!