From 4bd3fb3e0b64b9af366d32730673d56f5f0e0c10 Mon Sep 17 00:00:00 2001 From: WANG Xuerui Date: Thu, 14 Nov 2024 15:42:10 +0800 Subject: [PATCH] docs: rewrite platform-compatibility to dep-baseline The majority of the original doc is merged elsewhere as https://github.com/ruyisdk/ruyisdk-website/pull/12, so de-dupe the doc here to only contain the relevant technical info. --- docs/README.md | 2 +- docs/dep-baseline.md | 34 ++++++++++++++++++ docs/platform-compatibility.md | 66 ---------------------------------- 3 files changed, 35 insertions(+), 67 deletions(-) create mode 100644 docs/dep-baseline.md delete mode 100644 docs/platform-compatibility.md diff --git a/docs/README.md b/docs/README.md index cffc8dc..ebdf48f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -12,7 +12,7 @@ * [`ruyi` 的构建方式](./building.md) * [CI: 自动化版本发布](./ci-release-automation.md) * [Repo CI: Self-hosted runner 管理](./ci-self-hosted-runner.md) -* [`ruyi` 的平台兼容性](./platform-compatibility.md) +* [`ruyi` 的依赖兼容基线](./dep-baseline.md) ## 软件源 diff --git a/docs/dep-baseline.md b/docs/dep-baseline.md new file mode 100644 index 0000000..0534a74 --- /dev/null +++ b/docs/dep-baseline.md @@ -0,0 +1,34 @@ +# `ruyi` 的依赖兼容基线 + +为降低发行版打包的工作量,以及保证非单文件形式分发的 `ruyi` 能与发行版在系统级提供的各种依赖组件正常交互,有必要认真对待 +`ruyi` 的各种依赖的版本。在实现或修复某些功能的时候,如果涉及新增依赖或变更依赖版本,需要谨慎行事。 + +本文档是对 RuyiSDK 文档站[《RuyiSDK 的平台支持情况》](https://ruyisdk.org/docs/Other/platform-support/)一文,从开发角度进行的补充:为了实现 RuyiSDK 所承诺的平台兼容性,在代码层面需要考虑的各项依赖的最低版本。 + +以下是 `ruyi` 重点依赖的 **架构相关** 软件包在各大官方支持发行版的提供情况: + +| 发行版版本 | Python | pygit2 | pyyaml | +|---------------------|--------|--------|------------------------| +| Debian 12 | 3.1x | 1.11.1 | 6.0 [^debian-pyyaml] | +| Fedora 39 | 3.12 | 1.14.0 | 6.0.1 | +| Fedora 40 | 3.12 | 1.14.0 | 6.0.1 | +| Fedora 41 | 3.13 | 1.15.1 | 6.0.1 | +| openEuler 24.03 LTS | 3.11 | :x: | 6.0.1 | +| openEuler 24.09 | 3.11 | :x: | 6.0.1 | +| Ubuntu 22.04 LTS | 3.10 | 1.6.1 | 5.4.1 [^debian-pyyaml] | +| Ubuntu 24.04 LTS | 3.12 | 1.14.1 | 6.0.1 [^debian-pyyaml] | + +[^debian-pyyaml]: 包名为 `python3-yaml` + +以下是 `ruyi` 依赖的 **架构无关** 软件包在各大官方发行版的提供情况: + +| 发行版版本 | arpy | certifi | jinja2 | packaging | requests | rich | semver | tomlkit | typing\_extensions | +|---------------------|-------|------------|--------|-----------|----------|--------|--------|---------|--------------------| +| Debian 12 | 1.1.1 | 2020.6.20 | 3.0.3 | 21.3 | 2.25.1 | 11.2.0 | 2.10.2 | 0.9.2 | 3.10.0.2 | +| Fedora 39 | 2.3.0 | 2023.05.07 | 3.1.4 | 23.1 | 2.28.2 | 13.5.2 | 3.0.2 | 0.11.4 | 4.12.2 | +| Fedora 40 | 2.3.0 | 2023.05.07 | 3.1.4 | 23.2 | 2.31.0 | 13.7.0 | 3.0.2 | 0.12.3 | 4.12.2 | +| Fedora 41 | 2.3.0 | 2023.05.07 | 3.1.4 | 24.1 | 2.32.3 | 13.7.1 | 3.0.2 | 0.12.4 | 4.12.2 | +| openEuler 24.03 LTS | :x: | 2024.2.2 | 3.1.3 | 23.2 | 2.31.0 | 13.7.1 | 3.0.2 | 0.12.3 | 4.10.0 | +| openEuler 24.09 | :x: | 2024.7.4 | 3.1.3 | 23.2 | 2.31.0 | 13.7.1 | 3.0.2 | 0.12.3 | 4.12.2 | +| Ubuntu 22.04 LTS | 1.1.1 | 2020.6.20 | 3.0.3 | 21.3 | 2.25.1 | 11.2.0 | 2.10.2 | 0.9.2 | 3.10.0.2 | +| Ubuntu 24.04 LTS | 1.1.1 | 2023.11.17 | 3.1.2 | 24.0 | 2.31.0 | 13.7.1 | 2.10.2 | 0.12.4 | 4.10.0 | diff --git a/docs/platform-compatibility.md b/docs/platform-compatibility.md deleted file mode 100644 index 0ec07df..0000000 --- a/docs/platform-compatibility.md +++ /dev/null @@ -1,66 +0,0 @@ -# `ruyi` 的平台兼容性 - -## 官方支持的发行版列表 - -出于项目管理因素,如 RuyiSDK 项目 scope 与团队支持成本等等,以及一些其他因素,RuyiSDK -团队目前只能对一部分处理器架构的一部分 Linux 发行版版本提供官方支持。 - -团队对以下的架构提供 RuyiSDK 官方软件源服务,并对以下的 Linux -发行版(具体版本 & 架构移植)提供官方支持。 - -官方支持的架构(按字母顺序排序): - -* AArch64 -* RISC-V 64 -* x86\_64 - -官方支持的发行版版本与架构移植(按字母顺序排序): - -* Fedora 39: aarch64, [riscv64][fedora-riscv] [^fedora-riscv-source], x86\_64 -* Fedora 40: aarch64, [riscv64][fedora-riscv] [^fedora-riscv-source], x86\_64 -* Fedora 41: aarch64, [riscv64][fedora-riscv] [^fedora-riscv-source], x86\_64 -* openEuler 24.03 LTS: aarch64, riscv64, x86\_64 -* Ubuntu 22.04 LTS: amd64, arm64, riscv64 -* Ubuntu 24.04 LTS: amd64, arm64, riscv64 - -[fedora-riscv]: https://fedoraproject.org/wiki/Architectures/RISC-V -[^fedora-riscv-source]: 见于 [Docker Hub 容器映像](https://hub.docker.com/r/fedorariscv/base) - -对于官方支持架构上的非官方支持 Linux 发行版,`ruyi` 及 RuyiSDK -官方软件源提供的软件包仍有可能在其上正常运行,但我们对此不作自动化的保证。 - -对于官方支持架构上的其余操作系统(如 macOS 或 Windows),如用户要在其上使用 -RuyiSDK,将需要自行配置 Linux 环境。 - -对于非官方支持的架构,RuyiSDK 团队可能无法为其提供 `ruyi` 或 RuyiSDK -官方软件源的二进制包。确有需要的用户可以自行组织起来,提供本架构的平行宇宙 -RuyiSDK 软件源。RuyiSDK 团队鼓励这些软件源在软件包名、版本、构建参数等方面与官方软件源保持一致或兼容,但同时也不对此作强制要求。 - -## 依赖版本 - -为降低发行版打包的工作量,以及保证非单文件形式分发的 `ruyi` 能与发行版在系统级提供的各种依赖组件正常交互,有必要认真对待 -`ruyi` 的各种依赖的版本。在实现或修复某些功能的时候,如果涉及新增依赖或变更依赖版本,需要谨慎行事。 - -以下是 `ruyi` 重点依赖的 **架构相关** 软件包在各大官方支持发行版的提供情况: - -| 发行版版本 | Python | pygit2 | pyyaml | -|---------------------|--------|--------|------------| -| Fedora 39 | 3.12 | 1.14.0 | 6.0.1 | -| Fedora 40 | 3.12 | 1.14.0 | 6.0.1 | -| Fedora 41 | 3.13 | 1.15.1 | 6.0.1 | -| openEuler 24.03 LTS | 3.11 | :x: | 6.0.1 | -| Ubuntu 22.04 LTS | 3.10 | 1.6.1 | 5.4.1 [^1] | -| Ubuntu 24.04 LTS | 3.12 | 1.14.1 | 6.0.1 [^1] | - -[^1]: 包名为 `python3-yaml` - -以下是 `ruyi` 依赖的 **架构无关** 软件包在各大官方发行版的提供情况: - -| 发行版版本 | arpy | certifi | jinja2 | packaging | requests | rich | semver | tomlkit | typing\_extensions | -|---------------------|-------|------------|--------|-----------|----------|--------|--------|---------|--------------------| -| Fedora 39 | 2.3.0 | 2023.05.07 | 3.1.4 | 23.1 | 2.28.2 | 13.5.2 | 3.0.2 | 0.11.4 | 4.12.2 | -| Fedora 40 | 2.3.0 | 2023.05.07 | 3.1.4 | 23.2 | 2.31.0 | 13.7.0 | 3.0.2 | 0.12.3 | 4.12.2 | -| Fedora 41 | 2.3.0 | 2023.05.07 | 3.1.4 | 24.1 | 2.32.3 | 13.7.1 | 3.0.2 | 0.12.4 | 4.12.2 | -| openEuler 24.03 LTS | :x: | 2024.2.2 | 3.1.3 | 23.2 | 2.31.0 | 13.7.1 | 3.0.2 | 0.12.3 | 4.10.0 | -| Ubuntu 22.04 LTS | 1.1.1 | 2020.6.20 | 3.0.3 | 21.3 | 2.25.1 | 11.2.0 | 2.10.2 | 0.9.2 | 3.10.0.2 | -| Ubuntu 24.04 LTS | 1.1.1 | 2023.11.17 | 3.1.2 | 24.0 | 2.31.0 | 13.7.1 | 2.10.2 | 0.12.4 | 4.10.0 |