SuperAPI AI 工具集

update-distro-packages

办公与效率

查看项目

更新于 10-15 21:12

技能介绍

用途:在 .NET 发布说明仓库中创建和维护 release-notes/{version}/distros/ 目录下的按发行版 JSON 文件。每个文件声明某个 Linux 发行版为特定 .NET 版本提供的原生依赖包,并记录该发行版中可用的 .NET 包(SDK、运行时、ASP.NET Core)。

主要能力:维护 dependencies.json(与发行版无关的依赖清单)、index.json(发行版文件名列表)和各发行版文件(如 ubuntu.json、alpine.json、fedora.json);支持新增 .NET 版本的 distros/ 目录、增删发行版版本、修正包名、填充 dotnet_packages 与 dotnet_packages_other,并生成 dotnet-dependencies.md 和 dotnet-packages.md。

使用方式:需先安装 release-notes 工具(release-notes --version 检查;未安装时 dotnet tool install -g release-notes --add-source https://nuget.pkg.github.com/richlander/index.json)。创建新版本目录时,从同版本或上一版本的 os-packages.json 提取依赖,键名转为 snake_case(required-scenarios → required_scenarios,min-version → min_version),并参考 supported-os.json。填充 .NET 包需设置 PKGS_ORG_TOKEN(需 pkgs.org Gold+ 订阅),执行 release-notes query distro-packages --dotnet-version {version} --output /tmp/distro-packages.json,再按 component_id→component、package_name→name 映射写入。生成文档用 release-notes generate dotnet-dependencies {version} release-notes 和 release-notes generate dotnet-packages {version} release-notes。

适用场景:新增 .NET 版本、发行版进入或退出支持矩阵、依赖包名变化(如 libicu74 → libicu76)、定期审计依赖数据。

限制:markdown 文件由 JSON 生成,禁止手工编辑;dotnet_packages_other 每项必须包含注册源的 install_command,未知源需向用户询问,不可猜测;查询结果缺失的发行版(如 RHEL 订阅仓库)应留空而非添加空列表;名称字段须用完整产品名(如 Red Hat Enterprise Linux,而非 RHEL)。