跳到主要内容

博客

随时看到来自 RuyiSDK 团队的重大消息

RuyiSDK 0.34 版本更新说明

· 阅读需 4 分钟

RuyiSDK 0.34 现已发布,对应的包管理器版本也为 0.34.0。您可前往以下位置之一下载 RuyiSDK 包管理器:

本次更新主要包含了以下内容,祝您使用愉快!

RuyiSDK 包管理器

  • 支持了部分解包 tar 归档文件,以适应个别厂商在其官方渠道将多个软件打成一个包分发的做法。
  • 允许用 ruyi venv --extra-commands-from 为虚拟环境提供额外的与目标元组(target tuple)无关的命令,如特定厂商的刷写工具等。
  • ruyi admin format-manifest 会保留文件头部和尾部的注释了。
  • 遥测功能更新:
    • 当用户在终端首次运行 ruyi 时,现在会一次性询问用户是否允许立即上传安装信息。
    • 修复了 ruyi 的命令转发模式下遥测事件未被记录的问题。
    • 支持在软件源级别记录软件包的安装动作,以便第一方或第三方软件源的维护者们了解其软件的使用情况。
  • 重构了 ruyi 命令行工具的入口点和 ruyi 的日志处理方式,消除了大部分全局量的使用,以便后续 RuyiSDK 生态的其他 Python 组件复用 ruyi 的功能。

RuyiSDK 软件源

本次更新的部分软件包需要最新版本的 RuyiSDK 包管理器才能正常解析、工作,因此强烈建议您在 ruyi update 之余,将您的 ruyi 也升级到最新版本。

再次提醒:现已弃用旧版设备安装器支持,请尽快更新您的 RuyiSDK 包管理器。该支持将于 RuyiSDK 0.35(下个版本)移除。

  • 软件源格式更新:
    • 明确了官方软件源的 ID 为 ruyisdk,以便后续与第三方源和谐共存。
    • 术语更新:将那些指代非标准行为的“flavor”重命名为了“quirk”。
    • 为支持软件包声明其含有的可执行命令,为 binary 元数据新增了 commands 可选字段。
    • 为支持 tar 归档文件的部分解包,为 distfile 元数据新增了 prefixes_to_unpack 可选字段。
  • 完善了设备支持:
    • board-image/revyos-sipeed-lpi4a: 更新了 Sipeed LicheePi 4A 的 RevyOS 镜像版本至 20250420,修复了 20250323 版本的信息。
    • 将 Milk-V Duo 系列设备的 1.0.7 版本的 "Python" 镜像与非 "Python" 镜像调换了名称。
  • 新增软件包:
    • board-util/wlink: 社区独立实现的 WCH-Link 刷写与调试工具。
    • source/wch-ch32v103-evt: WCH CH32V103 EVT 官方代码示例包。
    • source/wch-ch32v20x-evt: WCH CH32V20x EVT 官方代码示例包。
    • source/wch-ch32v307-evt: WCH CH32V30x & CH32V317 EVT 官方代码示例包。
    • toolchain/gnu-wch-mrs-toolchain-gcc12-bin: WCH MounRiver Studio (MRS) 工具链的官方 2.1.0 版本,其中的 GCC 12.x 工具链。仅支持 x86_64 架构。
    • toolchain/gnu-wch-mrs-toolchain-gcc8-bin: WCH MounRiver Studio (MRS) 工具链的官方 2.1.0 版本,其中的 GCC 8.x 工具链。仅支持 x86_64 架构。
  • 更新软件包:
    • toolchain/gnu-plct-xthead: 采用玄铁官方源码、由 PLCT 构建的玄铁工具链的 3.0.1 版本,GCC 版本为 14.1.1。
  • 实体数据库更新:
    • 新增了 WCH 微架构、CPU 的实体定义。
    • 修正了 WCH 开发板的 CPU 信息。
  • 插件系统更新:
    • 新增了初步的 RISC-V 32 位配置文件支持。
  • 修复了一些软件包声明的格式错误。

RuyiSDK 0.33 版本更新说明

· 阅读需 2 分钟

RuyiSDK 0.33 现已发布,对应的包管理器版本也为 0.33.0。您可前往以下位置之一下载 RuyiSDK 包管理器:

本次更新主要包含了以下内容,祝您使用愉快!

RuyiSDK 包管理器

  • 将设备安装器的数据源迁移到了实体数据库,以降低维护成本、避免频繁更新时潜在的合并冲突等。

RuyiSDK 软件源

  • 完善了设备支持:
    • 新增支持了 Milk-V Meles 的 16G RAM 型号,支持 RevyOS 系统。
  • 实体数据库更新:
    • 设备实体定义更新:设备型号变体现已被拆分为单独实体类型 device-variant 了。
    • 新增了“设备适用系统信息”实体 image-combo
  • 现已弃用旧版设备安装器支持,请尽快更新您的 RuyiSDK 包管理器。该支持将于 RuyiSDK 0.35 移除。

服务端组件

  • 新增了官方软件源的新闻条目阅读 API。
  • 新增了按版本号查询 RuyiSDK 版本发行注记的 API。
  • 将官方软件源当前目录结构下的所有子目录都纳入了下载量统计范围。
  • 改进了服务容器的构建方式。

RuyiSDK 0.32 版本更新说明

· 阅读需 2 分钟
xen0n
RuyiSDK 技术主管

RuyiSDK 0.32 现已发布,对应的包管理器版本也为 0.32.0。您可前往以下位置之一下载 RuyiSDK 包管理器:

本次更新主要包含了以下内容,祝您使用愉快!

RuyiSDK 项目管理

  • 为流程合规,现在要求所有向 RuyiSDK 发起的拉取请求(Pull Requests)都包含开发者原创声明(Developer's Certificate of Origin, DCO)了。

RuyiSDK 包管理器

  • 新增了贡献指南文档,使社区成员更容易参与项目贡献。

RuyiSDK 软件源

  • 完善了设备支持:
    • 新增支持了适用于 SpacemiT K1 设备的特殊刷写策略。
    • 修复了设备安装器调用 fastboot 失败的问题。
    • 更新了 Sipeed LicheeRV Nano 的 Buildroot SDK 镜像。
    • 更新了 Sipeed LicheePi 4A 的 RevyOS 镜像版本并修复问题。
    • 更新了 Milk-V Meles 的 RevyOS 镜像。
  • 重命名了软件包 board-image/revyos-sg2042-milkv-pioneerboard-image/revyos-milkv-pioneer 以符合当前的软件包命名规范。
  • 实体数据库更新:
    • 设备实体定义现已与设备安装器支持范围对齐。补充了 Milk-V、Sipeed、Canaan、StarFive、WCH 等厂商的设备定义。

服务端组件

  • 优化了 ruyisdk.org 官网数据统计页面的性能。
  • 集成了 GitHub Releases 渠道的下载量到官网数据统计页面的 RuyiSDK 包管理器下载计数中,使统计数据更准确、全面。
  • 将原先位于 RuyiSDK 包管理器仓库、需要手工配置生效的镜像源同步脚本迁移到了服务端。

RuyiSDK 0.31 版本更新说明

· 阅读需 3 分钟
xen0n
RuyiSDK 技术主管

RuyiSDK 0.31 现已发布,对应的包管理器版本也为 0.31.0。您可前往以下位置之一下载 RuyiSDK 包管理器:

本次更新主要包含了以下内容,祝您使用愉快!

RuyiSDK 包管理器

  • RuyiSDK 设备安装器在需要安装的软件包不止一个可用版本的时候,会额外允许您选择一个非默认(最新)的版本了。如果您的开发板需要旧版本的系统,该功能对您可能有所帮助。
  • 新增了实验模式开关:环境变量 RUYI_EXPERIMENTAL,用于启用一些我们暂不承诺兼容性的实验性功能。
  • 新增了实验性功能:实体数据库。
    • 该功能有助于 RuyiSDK 为您提供与手头设备关联的有用信息。例如,可用 ruyi list --related-to-entity device:sipeed-lpi4a 查询适用于 Sipeed LicheePi 4A 的各种软件包了。
    • 初期支持 CPU 微架构(如香山南湖、玄铁 C910 等等)、CPU 型号(如香山南湖、玄铁 TH1520 等等)、设备型号(如 Sipeed LicheePi 4A 等等)、软件包等四种实体类型。
    • 这些功能为预览版,后续不排除作出不兼容变更以适应需求,因此仅在启用实验模式时才可用。如您有使用场景,请保持您的 ruyi 与软件源为最新。
  • 工程化迭代:
    • 为避免 CI 物理机资源的临时下线等原因影响到发版,将 RISC-V 架构的构建任务也暂时迁移至 GitHub Actions 公开免费提供的实例上了。
    • 将构建 ruyi 的单文件分发版本所用的 Python 版本升级到了 3.13.2。

RuyiSDK 0.30 版本更新说明

· 阅读需 2 分钟
xen0n
RuyiSDK 技术主管

RuyiSDK 0.30 现已发布,对应的包管理器版本也为 0.30.0。您可前往以下位置之一下载 RuyiSDK 包管理器:

本次更新主要包含了以下内容,祝您使用愉快!

RuyiSDK 包管理器

  • 修复了 ruyi list --category-contains 不工作的问题。
  • 修复了全新安装 ruyi 之后直接进行 ruyi install 会崩溃的问题。
  • 软件源格式更新:
    • 基于目前的设备安装器配置数据,新增实验性的结构化设备型号描述数据库,初期支持为每种设备型号描述其 CPU 与微架构能力。
  • 工程化迭代:
    • 将 AArch64 架构的构建任务迁移至 GitHub Actions 公开免费提供的实例上,以降低 RuyiSDK 团队的维护成本。
    • 修复了 CI 开源许可证检查任务。

RuyiSDK 0.29 版本更新说明

· 阅读需 2 分钟
xen0n
RuyiSDK 技术主管

RuyiSDK 0.29 现已发布,对应的包管理器版本也为 0.29.0。您可前往以下位置之一下载 RuyiSDK 包管理器:

本次更新主要包含了以下内容,祝您使用愉快!

RuyiSDK 包管理器

  • 修复了 ruyi news list 命令的机读模式(porcelain mode)支持。
  • ruyi news read 增加了机读模式(porcelain mode)支持,返回格式与 ruyi news list 相同。
  • 软件源格式更新:
    • 不再支持以 JSON 格式撰写软件源全局配置与软件包描述。RuyiSDK 官方软件源已于 0.18 版本完成了升级,预期不受此变更影响。如您仍未升级您的 ruyi 版本,建议您重新安装 ruyi 并重做虚拟环境(如有)。
    • 为软件包版本描述新增了可选的 upstream_version 字段,用来记录相应上游对该版本的称呼。由于 RuyiSDK 软件源普遍采用语义化版本,经常需要对不采用语义化版本的上游版本号进行映射;新增该字段有助于 RuyiSDK 生态的软件包管理工具正确理解该类映射关系。
    • 为未来的软件包级别的公共信息作了向后兼容的预留。

RuyiSDK 0.28 版本更新说明

· 阅读需 2 分钟
xen0n
RuyiSDK 技术主管

RuyiSDK 0.28 现已发布,对应的包管理器版本也为 0.28.0。您可前往以下位置之一下载 RuyiSDK 包管理器:

本次更新主要包含了以下内容,祝您使用愉快!

RuyiSDK 包管理器

  • 运行不依赖软件源的命令时,如软件源仓库尚未拉取到本地,现在不会多余做拉取动作了。
  • ruyi list 现在支持基本的过滤查询了:使用 --category-is 查询某个分类下的软件包,使用 --name-contains 查询名称中包含特定字样的软件包。
  • 考虑到软件包的数量持续增加,不带任何参数的 ruyi list 不再受到支持。如果您有依赖先前行为的脚本等,请按照提示修改使用方式。

RuyiSDK 软件源

  • 新增了以下软件包:
    • source/wiringx: wiringX 项目的官方源码。wiringX 是模块化的 GPIO 支持组件。
  • 更新了以下软件包:
    • board-image/bianbu-bpi-f3
    • board-image/revyos-milkv-meles
    • board-image/revyos-sg2042-milkv-pioneer
  • 修复了 board-image/revyos-milkv-melesboot 分区的文件类型标记。

RuyiSDK 0.27 版本更新说明

· 阅读需 2 分钟
xen0n
RuyiSDK 技术主管

RuyiSDK 0.27 现已发布,对应的包管理器版本也为 0.27.0。您可前往以下位置之一下载 RuyiSDK 包管理器:

本次更新主要包含了以下内容,祝您使用愉快!

RuyiSDK 包管理器

  • 新增了 ruyi telemetry upload 命令。如果您乐意配合,现在在 CI 等临时性场合也能确保遥测数据在任务结束、环境被清理之前得到上传了。
  • 支持分别指定软件包版本的服务等级了。如果某个软件包的某个版本存在已知问题,在安装或解压该版本时,ruyi 会输出提示信息,该信息可由打包人员在软件源维护。后续也将支持按照服务等级过滤软件包:届时将可以跳过存在已知问题的版本,或仅使用经过验证的版本等。
  • 工程化相关变更。
    • 支持了 pygit2 1.17.0。ruyi 的单文件分发版本已经切换至该版本了。

RuyiSDK 软件源

  • 更新了以下软件包:
    • board-image/buildroot-sdk-milkv-duo
    • board-image/buildroot-sdk-milkv-duo256m
    • board-image/buildroot-sdk-milkv-duos-sd
    • board-image/uboot-revyos-sipeed-lpi4a-16g
    • board-image/uboot-revyos-sipeed-lpi4a-8g
  • 修复了一些软件包得到自动化版本升级之后,无法正常下载的问题。

RuyiSDK 0.26 版本更新说明

· 阅读需 2 分钟
xen0n
RuyiSDK 技术主管

RuyiSDK 0.26 现已发布,对应的包管理器版本也为 0.26.0。您可前往以下位置之一下载 RuyiSDK 包管理器:

本次更新主要包含了以下内容,祝您使用愉快!

RuyiSDK 包管理器

  • ruyi telemetry status 新增了 --verbose (-v) 选项,供用户在 ruyi telemetry consent 之后继续查看自身遥测数据的上传计划。
  • 修复了使用厂商工具链创建虚拟环境时,工具链 -mcpu 取值可能不被正确映射的问题。如果您受影响,请在 ruyi update 之后重建虚拟环境。
  • 继续加强了平台兼容性保障。
    • 新增了一篇平台兼容性技术文档,明确了当前 ruyi 支持的第三方依赖的基线版本。
    • 以 CI 检查的方式确保了 ruyi 的所有变更都不影响 ruyi 在 Ubuntu 22.04 下通过测试套件。
  • 工程化相关变更。
    • 修复了源码包内遗漏了一层子目录结构的问题。
    • 更新 Poetry 至 2.0 版本,顺带更新了 ruyi 的 Python 项目元数据(pyproject.toml)。

RuyiSDK 软件源

  • 更新了 board-image/revyos-sipeed-lpi4a
  • 配合 ruyi 0.26.0 相应更改,支持了新的 profile API,以便为虚拟环境正确配置 -mcpu

RuyiSDK 0.25 版本更新说明

· 阅读需 2 分钟
xen0n
RuyiSDK 技术主管

RuyiSDK 0.25 现已发布,对应的包管理器版本也为 0.25.0。您可前往以下位置之一下载 RuyiSDK 包管理器:

本次更新主要包含了以下内容,祝您使用愉快!

RuyiSDK 包管理器

  • 新增了 ruyi config 子命令,方便用户通过命令行或脚本方式查询、修改 RuyiSDK 包管理器配置。该命令用法受到了 git config 的启发,详见 ruyi config --help 输出。
  • 新增了 ruyi telemetry 子命令,方便用户通过命令行或脚本方式查询、变更遥测偏好。详见 ruyi telemetry --help 输出。
    • 特别地:在您表明遥测偏好前,每次运行 ruyi 您都会收到提醒。您现在可以通过 ruyi telemetry off 关闭遥测数据收集,或通过 ruyi telemetry consent 明确接受遥测数据收集与上传了。
  • 修复了搭配 arpy 1.x 使用时,无法解压 Debian 格式软件包的问题。
  • 新增了两篇规范文档:RuyiSDK 官方软件源的包版本规范,以及 RuyiSDK 中的板卡型号、系统镜像命名规范。您可移步 RuyiSDK 包管理器的仓库 docs/ 目录阅读。