Blog
Bleiben Sie mit aktuellen Nachrichten vom RuyiSDK-Team auf dem Laufenden
RuyiSDK 0.39 现已发布,对应的包管理器版本也为 0.39.0。您可前往以下位置之一下载 RuyiSDK 包管理器:
本次更新主要包含了以下内容,祝您使用愉快!
ruyi 现已在 PyPI 同步发布。只要您有 Python 环境,您就可以使用 pip install ruyi 或类似的命令安装 RuyiSDK 包管理器了。
- 如用户自定义了软件源 Git 仓库的存放路径,当该仓库当前分支的远端 URL 与
ruyi 的相应配置项不同时,ruyi update 会 报错退出了,而不再将用户配置覆盖。
- 继续打磨 Shell 自动补全:
- 优化了常规(非自动补全)模式下的
ruyi 启动延迟;
- 如本地没有同步过软件源,不会在补全命令行时尝试同步了。
- 工程化迭代:
- 现在会给每个 PR 进行端到端的集成测试了,以确保常规命令行使用方式不被破坏。
- 将 Shell 自动补全脚本整合进了
ruyi 源码发行:位于 contrib/shell-completions 目录。发行版打包人员可进行集成了。
- 为给 Ubuntu 22.04 LTS 打包做好准备:支持以 pytest 6.2.5 运行测试套件了。
- 在构建
ruyi 的单文件发行版时,为 RISC-V 架构使用了预制的 cffi 与 pygit2,以节省构建时间。
- 简化了
ruyi 的发版工作:支持了自助打 tag 并触发发版流程。
- 更新软件包:
source/milkv-duo-examples: Milk-V Duo 示例代码,20241219 版本。
- 完善了设备支持:
- Milk-V Meles(4/8/16G 变体)的 RevyOS U-Boot:补齐了上游版本。
- Milk-V Pioneer、Milk-V Meles 的 RevyOS:补齐缺失版本
- Sipeed LicheeRV Nano 的 buildroot SDK:补齐了上游版本。
- 工程化迭代:
- 自动格式化了所有包版本描述,并以 CI 形式确保了新增的包遵循统一格式。
感谢 @Cyl18、@weilinfox 的贡献!
RuyiSDK 0.38 现已发布,对应的包管理器版本也为 0.38.0。您可前往以下位置之一下载 RuyiSDK 包管理器:
本次更新主要包含了以下内容,祝您使用愉快!
- 为 RuyiSDK 设备安装器新增了
ruyi device flash 这一别名,以便理解记忆。感谢 RuyiSDK 社区论坛的 @Sequel 同学反馈!
- 当
ruyi 需要调用某些外部命令但无法找到时,如果当前终端可以交互,会等待您安装以便重试了。您可以在另一个终端下安装所需命令,再回到 ruyi 所在终端按回车键继续。您也可以按 Ctrl+C 退出。感谢 RuyiSDK 社区论坛的 @Sequel 同学反馈!
- 完善了设备支持:
- 新增了 Sipeed LicheePi 4A 的 RevyOS 的历史版本。感谢 @Cyl18 的贡献!
- 新增了 Milk-V Duo 的 Arduino 的 1.1.2 与 1.1.4 两个版本。感谢 @Cyl18 的贡献!
RuyiSDK 0.37 现已发布,对应的包管理器版本也为 0.37.0。您可前往以下位置之一下载 RuyiSDK 包管理器:
本次更新主要包含了以下内容,祝您使用愉快!
-
新增了基本的命令行自动补全支持,初期支持 Bash 与 Zsh 两种 shells。感谢 @wychlw 的贡献!
要使用命令行自动补全功能,请在您的 shell profile(如 .bashrc 或 .zshrc)的合适位置引入
ruyi 的自动补全脚本:
# zsh 用户请将 bash 字样替换为 zsh
eval "$(ruyi --output-completion-script=bash)"
目前支持 ruyi 子命令与 ruyi install 等命令的软件包参数的自动补全。
-
使用 ruyi self clean 清除本地数据时,如果新闻已读状态文件不存在,不会报错崩溃了。感谢 @weilinfox 报告问题!
-
拉取远端 Git 仓库失败时,不会将 Python 错误信息暴露给用户了。
-
只有在文件的下载 URL 协议为 FTP 时,才会为 curl 或 wget 启用 FTP 被动模式了。这修复了部分 RuyiSDK 用户由于cURL 8.14.1 的 bug 而无法下载任何文件的问题。感谢 @weilinfox 向 ruyi 项目报告问题!
-
重构了 ruyi 的捆绑资源处理方式,将其从虚拟环境机制中剥离了,以便后续捆绑其他非虚拟环境相关资源,如命令行自动补全脚本、多语言字符串文件等等。同时,也以 CI 方式确保了 ruyi 所含的压缩资源总与原始文件保持同步。
-
新增了对于 OpenCloudOS 9.4、openEuler 24.03 LTS SP2、openEuler 25.03、openKylin 2.0 的支持情况。ruyi 的 Python 依赖包在这些发行版上均 有少量缺失,但其余依赖包的版本满足要求,我们预计将在 2025 年 10 月完成对它们的支持。
- 实体数据库更新:
- 新增了 SpacemiT X60 微架构。
- 新增了 SpacemiT K1 处理器型号。
- 新增了 BananaPi BPI-F3 的 eMMC 与 SD 存储两种设备变体。
- 完善了设备支持:
- 更新了 Milk-V Duo(64 & 256M RAM)、Duo S(SD 存储)的 Buildroot SDK。感谢 @Cyl18 的贡献!
- 支持了 BananaPi BPI-F3 的 SD 存储型号,有 SpacemiT 提供的 Bianbu Desktop 与 Bianbu Minimal 两种系统供使用。感谢 @wychlw 的贡献!
RuyiSDK 0.36 现已发布,对应的包管理器版本也为 0.36.0。您可前往以下位置之一下载 RuyiSDK 包管理器:
本次更新主要包含了以下内容,祝您使用愉快!
- 每次
ruyi update 完成后,会报告哪些已安装的软件包有更新版本可供安装了。考虑到具体项目对工具链版本的需求可能较为精确,您可自行 ruyi install 更新的版本,并自行重做相应的虚拟环境。
- 可以用
ruyi uninstall 卸载已安装的软件包了。另有更简短的别名 ruyi remove 或 ruyi rm 可用。
- 在
ruyi list 的输出中,可以看到软件包的安装文件是否完全下载了。
- 在同时启用机读模式(porcelain mode)与调试输出(
RUYI_DEBUG=y)时,最先输出的几条日志不会以错误格式输出了。
- 优化了
ruyi 工具的启动速度,现在每次运行 ruyi 都能省下 200-300ms 时间(视机器性能而定),有助于后续实现低延迟的命令行补全特性。并以 CI 检查的方式确保了后续代码变更不会影响本次优化效果。
- 更新了
toolchain/gnu-plct:由 PLCT 维护并构建的 GNU RISC-V 工具链,包含 GNU binutils 2.45 的预览版、GCC 15.1.0 以及 glibc 2.40。
- 更新了实体数据库中的 RISC-V 微架构定义,新增以下微架构:
- 香山昆明湖
- 玄铁 C908、C908V、C910V2、C920、C920V2
- MIPS P8700
- 8-宽 Tenstorrent Ascalon
- 修正了玄铁 C910 的 RISC-V ISA 字符串为上游主线 GCC 接受的标准形式。
RuyiSDK 0.35 现已发布,对应的包管理器版本也为 0.35.0。您可前往以下位置之一下载 RuyiSDK 包管理器:
本次更新主要包含了以下内容,祝您使用愉快!
- 现在会记录软件包的安装状态了。该信息在
ruyi list 输出中也会体现,并且支持在 ruyi list 时传入 --is-installed y/n 参数进行过滤。
ruyi entity list 可以带一个或多个 -t / --entity-type 参数,用来列举特定类型的实体了。
ruyi entity list 现在支持机读模式(porcelain mode)输出了。
- 新增了 Milk-V Duo (128M & 156M) 开发板镜像的历史版本。
- 修复了 Milk-V Duo (128M & 256M) 开发板镜像 2.0.0 版本的配置。
- 更新 了多个 Milk-V Meles 的 RevyOS 镜像。
- 修复了 Milk-V Meles 的 RevyOS 镜像 1.20250123.0 版本的配置。
- 更新了一些文档链接的指向。
- 清理了已于 RuyiSDK 0.33 版本弃用的 RuyiSDK 设备安装器的旧版配置数据。
RuyiSDK 0.34 现已发布,对应的包管理器版本也为 0.34.0。您可前往以下位置之一下载 RuyiSDK 包管理器:
本次更新主要包含了以下内容,祝您使用愉快!
- 支持了部分解包
tar 归档文件,以适应个别厂商在其官方渠道将多个软件打成一个包分发的做法。
- 允许用
ruyi venv --extra-commands-from 为虚拟环境提供额外的与目标元组(target tuple)无关的命令,如特定厂商的刷写工具等。
ruyi admin format-manifest 会保留文件头部和尾部的注释了。
- 遥测功能更新:
- 当用户在终端首次运行
ruyi 时,现在会一次性询问用户是否允许立即上传安装信息。
- 修复了
ruyi 的命令转发模式下遥测事件未被记录的问题。
- 支持在软件源级别记录软件包的安装动作,以便第一方或第三方软件源的维护者们了解其软件的使用情况。
- 重构了
ruyi 命令行工具的入口点和 ruyi 的日志处理方式,消除了大部分全局量的使用,以便后续 RuyiSDK 生态的其他 Python 组件复用 ruyi 的功能。
本次更新的部分软件包需要最新版本的 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 现已发布,对应的包管理器版本也为 0.33.0。您可前往以下位置之一下载 RuyiSDK 包管理器:
本次更新主要包含了以下内容,祝您使用愉快!
- 将设备安装器的数据源迁移到了实体数据库,以降低维护成本、避免频繁更新时潜在的合并冲突等。