migration
6 篇-
SOW v0.5.0
SOW 0.5.0 主要解决已有平面 YUM 仓库接入 SOW 时的兼容问题。核心新增功能是 sow create --metadata-timestamp SECONDS:替换原有元数据生成器时,发布者可以保留合法的 发布时间,兼容已有 EL7 YUM 客户端的缓存。 安装方式见下载页面,已有工作区的升级步骤见 安装与升级。 已有 YUM 仓库的发布时间 EL7 YUM 会比较新 repomd.xml 中最大的元数据时间戳与本地缓存。如果新索引的时间更早, YUM 可能拒收它并继续使用旧索引。 …
SOW 0.5.0 主要解决已有平面 YUM 仓库接入 SOW 时的兼容问题。核心新增功能是 sow create --metadata-timestamp SECONDS:替换原有元数据生成器时,发布者可以保留合法的 发布时间,兼容已有 EL7 YUM 客户端的缓存。 安装方式见下载页面,已有工作区的升级步骤见 安装与升级。 已有 YUM 仓库的发布时间 EL7 YUM 会比较新 repomd.xml 中最大的元数据时间戳与本地缓存。如果新索引的时间更早, YUM 可能拒收它并继续使用旧索引。 …
-
SOW v0.4.0
SOW 0.4.0 是一次面向 Managed 仓库的完整性与恢复版本:它明确了深度校验的 I/O 契约, 禁止跨无关密钥拼装 RPM 信任,提供可审计的发布目标可变配置修正路径,并补齐 v0.3 迁移与 发布中断恢复的剩余缺口。 Plain 仓库行为与公共 pool/ + dists/ 布局均未改变。 从 0.3 升级 必须逐个显式迁移 v0.3 Repository 先停止全部 Workspace 写入并完成备份,再安装 0.4.0;在执行普通读写命令之前,对每个 Repository 运行 …
SOW 0.4.0 是一次面向 Managed 仓库的完整性与恢复版本:它明确了深度校验的 I/O 契约, 禁止跨无关密钥拼装 RPM 信任,提供可审计的发布目标可变配置修正路径,并补齐 v0.3 迁移与 发布中断恢复的剩余缺口。 Plain 仓库行为与公共 pool/ + dists/ 布局均未改变。 从 0.3 升级 必须逐个显式迁移 v0.3 Repository 先停止全部 Workspace 写入并完成备份,再安装 0.4.0;在执行普通读写命令之前,对每个 Repository 运行 …
-
SOW 设计演进:从 Route Graph 收敛到 Repository Core
本文对应 2026-08-10 围绕 Repository Core 完成的 SOW 收敛决策。它从早期规划、ADR、评审、 迁移与验证目录中提炼值得维护的结论,但不会把每份过程制品都变成另一套产品文档。 部分封存目录使用“v0.2”“v0.3”表示连续的发布前设计线;下文版本号只指正式 Git Tag。 C2 硬链接开发线在 v0.2.0 打 Tag 之前已经被替换。 更详细的历史由四篇配套记录承载: v0.1 原始产品计划解释最初的产品野心,以及控制面为何变得过重; v0.1 决策账本逐项标 …
本文对应 2026-08-10 围绕 Repository Core 完成的 SOW 收敛决策。它从早期规划、ADR、评审、 迁移与验证目录中提炼值得维护的结论,但不会把每份过程制品都变成另一套产品文档。 部分封存目录使用“v0.2”“v0.3”表示连续的发布前设计线;下文版本号只指正式 Git Tag。 C2 硬链接开发线在 v0.2.0 打 Tag 之前已经被替换。 更详细的历史由四篇配套记录承载: v0.1 原始产品计划解释最初的产品野心,以及控制面为何变得过重; v0.1 决策账本逐项标 …
-
SOW v0.1 决策账本:哪些被保留,哪些已退役
历史决策账本 v0.1.0 Tag 中现存 44 份 ADR,编号从 0001 到 0045,其中缺少 0006。 本文保留它们的意义,但不会把每份历史实现契约重新发布成当前指南。 即使实现已经退役,ADR 仍有价值:它记录团队拒绝忽略的失败模式、当时选择的边界,以及危险 操作进入执行前必须取得的证据。 下面把每项决策分为四种命运: 命运 含义 保留 原则以基本相同的边界继续存在于当前 SOW。 演化 问题与安全规则仍在,但所有权或实现已经改变。 迁移历史 决策只服务一次性的 …
历史决策账本 v0.1.0 Tag 中现存 44 份 ADR,编号从 0001 到 0045,其中缺少 0006。 本文保留它们的意义,但不会把每份历史实现契约重新发布成当前指南。 即使实现已经退役,ADR 仍有价值:它记录团队拒绝忽略的失败模式、当时选择的边界,以及危险 操作进入执行前必须取得的证据。 下面把每项决策分为四种命运: 命运 含义 保留 原则以基本相同的边界继续存在于当前 SOW。 演化 问题与安全规则仍在,但所有权或实现已经改变。 迁移历史 决策只服务一次性的 …
-
SOW v0.1 原始计划:软件仓库的 Git
历史设计记录 本文描述 2026-07-11 启动、并在 2026-07-31 封存为 v0.1.0 源码基线的原始计划。 Git/CAS/Route/Edge 产品模型已经退役;当前行为以 SOW 文档和维护中的 系统模型为准。 SOW 最初并不是一个小型仓库索引器。原始目标是用一个 Go 控制面,替换 Pigsty 中庞大的 Makefile + rclone 工作流,统一管理 APT、YUM 与静态制品,覆盖本地状态、包生命周期、上游 同步、Channel、View、Snapshot、双 …
历史设计记录 本文描述 2026-07-11 启动、并在 2026-07-31 封存为 v0.1.0 源码基线的原始计划。 Git/CAS/Route/Edge 产品模型已经退役;当前行为以 SOW 文档和维护中的 系统模型为准。 SOW 最初并不是一个小型仓库索引器。原始目标是用一个 Go 控制面,替换 Pigsty 中庞大的 Makefile + rclone 工作流,统一管理 APT、YUM 与静态制品,覆盖本地状态、包生命周期、上游 同步、Channel、View、Snapshot、双 …
-
迁移已有 YUM 仓库
本指南适用于 RPM 与 repodata/ 放在同一层目录的平面仓库,例如此前用 createrepo_c 维护的仓库。它使用 Plain sow create,不创建 Managed 工作区。发布时间参数是 SOW 0.5.0 新增功能,请使用该版本或更新版本。 1. 明确迁移范围 在候选副本上操作,并完整保留旧软件包与元数据备份。可能重签的 RPM 不要用硬链接复制。 先确认真正使用的二进制: SOW=/path/to/sow "$SOW" version "$SOW" create …
本指南适用于 RPM 与 repodata/ 放在同一层目录的平面仓库,例如此前用 createrepo_c 维护的仓库。它使用 Plain sow create,不创建 Managed 工作区。发布时间参数是 SOW 0.5.0 新增功能,请使用该版本或更新版本。 1. 明确迁移范围 在候选副本上操作,并完整保留旧软件包与元数据备份。可能重签的 RPM 不要用硬链接复制。 先确认真正使用的二进制: SOW=/path/to/sow "$SOW" version "$SOW" create …