SuperAPI AI 工具集

update-os-packages

部署与运维

查看项目

更新于 10-16 08:01

技能介绍

用途:审计和更新 dotnet/core 仓库中 release-notes/{version}/os-packages.json 文件,确保声明的 Linux 发行版软件包名称正确,这些文件描述每个受支持发行版版本运行 .NET 所需的包。

适用时机:新发行版版本发布(如 Ubuntu 26.04、Alpine 3.23)需要新增或核验包;上游包名可能变化(如 libicu76 → libicu78);或定期审计所有已列包名是否仍然正确。

前置条件:release-notes 工具已全局安装,可用 release-notes --help 确认。

输入:用户需提供 dotnet/core 仓库的本地路径(如 ~/git/core),以及要审计的 .NET 版本(如 8.0+、仅 10.0),默认为所有活动版本。

流程:先确定范围,读取各版本的 os-packages.json;再对每个版本运行 release-notes verify os-packages 命令,逐个对照上游发行版包源并报告不匹配;接着与 supported-os.json 交叉核对,找出缺失条目和过期条目并向用户报告,不自动新增发行版条目;对确认错误包名,在所有受影响的 .NET 版本中同步修改(同一发行版版本使用相同包,与 .NET 版本无关),使用 edit 工具做精确改动;最后验证修改后的 JSON 可正确解析(用基于文件的程序配合 Dotnet.Release.Support 类型反序列化),向用户展示变更摘要,确认后以描述性信息提交。

关键事实:libicu 等包名在 Debian/Ubuntu 上带版本号(如 libicu76),在 Fedora/RHEL/SUSE 上不带;Debian 13+ 和 Ubuntu 24.04+ 的 OpenSSL 使用 t64 后缀(libssl3t64);Alpine 使用完全不同的包名(icu-libs、libssl3、krb5)。

限制:不自动添加新的发行版条目,由用户决定;该技能的具体安装命令、收费与价格信息暂未提供。