SOW 博客
SOW 的发布说明、设计决策与项目动态。SOW 是 Pigsty 出品的 APT 与 YUM 软件仓库管理器。
SOW v0.2.0
SOW v0.2.0 引入 Plain 与 Managed RPM/DEB 仓库、签名、发布、构建快照保留与 RPM Leaf 导出。
为什么 SOW 每个仓库只保留一棵包体树
每个仓库共用一个包池,各发行版视图只保存元数据,避免重复包副本。
SOW v0.1 到底证明了什么
汇总 v0.1 的 112 份验证报告,涵盖客户端兼容性、规模、恢复、迁移与云存储行为。
v0.2 重置:用 Plain 与 Managed 取代万能控制面
SOW 如何用 Plain 与 Managed 两条执行路径、明确所有权和 SQLite 状态,替换 v0.1 的 Git/CAS/Edge 平台。
SOW v0.1 决策账本:哪些被保留,哪些已退役
逐项整理 v0.1 现存的 44 份 ADR:当时解决什么问题,后来是延续、演化、仅服务迁移,还是随 V1 一同退役。
SOW v0.1 原始计划:软件仓库的 Git
SOW 为什么最初选择 Git/CAS/Route/Edge 控制面,这套模型解决了什么,又为何后来转为仓库引擎。
SOW v0.2.0
SOW v0.2.0 引入 Plain 与 Managed RPM/DEB 仓库、签名、发布、构建快照保留与 RPM Leaf 导出。
为什么 SOW 每个仓库只保留一棵包体树
每个仓库共用一个包池,各发行版视图只保存元数据,避免重复包副本。
SOW v0.1 到底证明了什么
汇总 v0.1 的 112 份验证报告,涵盖客户端兼容性、规模、恢复、迁移与云存储行为。
v0.2 重置:用 Plain 与 Managed 取代万能控制面
SOW 如何用 Plain 与 Managed 两条执行路径、明确所有权和 SQLite 状态,替换 v0.1 的 Git/CAS/Edge 平台。
SOW v0.1 决策账本:哪些被保留,哪些已退役
逐项整理 v0.1 现存的 44 份 ADR:当时解决什么问题,后来是延续、演化、仅服务迁移,还是随 V1 一同退役。
SOW v0.1 原始计划:软件仓库的 Git
SOW 为什么最初选择 Git/CAS/Route/Edge 控制面,这套模型解决了什么,又为何后来转为仓库引擎。
-
SOW v0.2.0
v0.2.0 发布于 2026-08-08 查看发布 源码 · tar.gz 源码 · zip pgsty/sow SOW 0.2.0 引入了面向 RPM 与 DEB 仓库的 Plain 和 Managed 工作流。它以单个 Go 可执行文件,在 Linux 或 macOS 上构建静态软件包仓库。 本文记录 0.2.0 发布时的功能。当前安装与操作方法见现行文档。 构建平面仓库 Plain 模式索引目录顶层的 RPM 与 DEB 文件: sow create /srv/repo RPM 生成 …
v0.2.0 发布于 2026-08-08 查看发布 源码 · tar.gz 源码 · zip pgsty/sow SOW 0.2.0 引入了面向 RPM 与 DEB 仓库的 Plain 和 Managed 工作流。它以单个 Go 可执行文件,在 Linux 或 macOS 上构建静态软件包仓库。 本文记录 0.2.0 发布时的功能。当前安装与操作方法见现行文档。 构建平面仓库 Plain 模式索引目录顶层的 RPM 与 DEB 文件: sow create /srv/repo RPM 生成 …
-
为什么 SOW 每个仓库只保留一棵包体树
这项决策起草于 2026-08-05,随 2026-08-08 的 SOW v0.2.0 发布。SOW 0.7.0 仍使用这一布局: 每个仓库保存一棵包体树,各发行版视图引用同一棵树。 决策 每个 Repository 的公共目录如下: <repository>/ pool/ # 包体 dists/ <dist>/ <architecture>/ # RPM 元数据 上图展示 RPM 视图。APT 索引位于 dists/<dist>/main/binary-<architecture>/, …
这项决策起草于 2026-08-05,随 2026-08-08 的 SOW v0.2.0 发布。SOW 0.7.0 仍使用这一布局: 每个仓库保存一棵包体树,各发行版视图引用同一棵树。 决策 每个 Repository 的公共目录如下: <repository>/ pool/ # 包体 dists/ <dist>/ <architecture>/ # RPM 元数据 上图展示 RPM 视图。APT 索引位于 dists/<dist>/main/binary-<architecture>/, …
-
SOW v0.1 到底证明了什么
v0.1 归档包含 112 份报告,日期从 2026-07-11 到 7 月 31 日。 它们记录了客户端测试、规模测量、故障恢复、迁移和云存储实验。 本文汇总主要结果,并链接到代表性报告。 每项结果对应报告中记录的源码版本、测试数据、客户端与环境。 当前支持情况见兼容性参考。 证据时间线 时间 报告数 主要工作 2026-07-11 3 真实 APT/DNF 基线、72,310 个包的清单扫描、5 万个上游包的流式处理 2026-07-12 35 APT/YUM 协议、CAS/GC、发布顺序、 …
v0.1 归档包含 112 份报告,日期从 2026-07-11 到 7 月 31 日。 它们记录了客户端测试、规模测量、故障恢复、迁移和云存储实验。 本文汇总主要结果,并链接到代表性报告。 每项结果对应报告中记录的源码版本、测试数据、客户端与环境。 当前支持情况见兼容性参考。 证据时间线 时间 报告数 主要工作 2026-07-11 3 真实 APT/DNF 基线、72,310 个包的清单扫描、5 万个上游包的流式处理 2026-07-12 35 APT/YUM 协议、CAS/GC、发布顺序、 …
-
v0.2 重置:用 Plain 与 Managed 取代万能控制面
2026-07-31,v0.1 源码基线封存后,SOW 开始了一次产品重置。 目标是构建一个小型仓库引擎,替代 Pigsty 日常软件包构建工作流。 重置保留了已有的完整性与恢复经验,同时移除了大部分控制面。 最终形成的分工沿用至今:Plain 重建调用者拥有的目录,Managed 管理仓库及其历史。 开发设计最初在 RPM 视图内使用 C2 硬链接,随后在 8 月 8 日发布 v0.2.0 前被替换。 部分归档计划曾把 C2 构建称为“v0.2.0”,但正式标签已经采用单一包池与纯元数据视图。 …
2026-07-31,v0.1 源码基线封存后,SOW 开始了一次产品重置。 目标是构建一个小型仓库引擎,替代 Pigsty 日常软件包构建工作流。 重置保留了已有的完整性与恢复经验,同时移除了大部分控制面。 最终形成的分工沿用至今:Plain 重建调用者拥有的目录,Managed 管理仓库及其历史。 开发设计最初在 RPM 视图内使用 C2 硬链接,随后在 8 月 8 日发布 v0.2.0 前被替换。 部分归档计划曾把 C2 构建称为“v0.2.0”,但正式标签已经采用单一包池与纯元数据视图。 …
-
SOW v0.1 决策账本:哪些被保留,哪些已退役
v0.1.0 标签中有 44 份架构决策记录(ADR),编号为 0001 至 0045,缺少 0006。 每份 ADR 记录一个问题、当时的决策及实现必须满足的条件。 下表说明仓库模型变化后,各项决策的后续情况。 状态 含义 保留 原则以基本相同的范围继续用于当前 SOW。 演化 问题仍在,但所有权或实现已经改变。 迁移历史 决策用于 Pigsty/V1 切换。 退役 决策属于已移除的 Git/CAS/Route/Edge 模型。 决策日期从 2026-07-11 到 7 月 28 日 …
v0.1.0 标签中有 44 份架构决策记录(ADR),编号为 0001 至 0045,缺少 0006。 每份 ADR 记录一个问题、当时的决策及实现必须满足的条件。 下表说明仓库模型变化后,各项决策的后续情况。 状态 含义 保留 原则以基本相同的范围继续用于当前 SOW。 演化 问题仍在,但所有权或实现已经改变。 迁移历史 决策用于 Pigsty/V1 切换。 退役 决策属于已移除的 Git/CAS/Route/Edge 模型。 决策日期从 2026-07-11 到 7 月 28 日 …
-
SOW v0.1 原始计划:软件仓库的 Git
v0.1 计划始于 2026-07-11,并于 7 月 31 日封存为 v0.1.0。 它计划用一个 Go 控制面替换 Pigsty 的 Makefile 与 rclone 工作流,统一管理 APT、YUM 和静态制品。 范围包括本地状态、包历史、上游同步、渠道、视图、快照、双云发布、CDN 行为、商业访问控制和迁移。 当时的核心说法是:“制品仓库的 Git”。 软件分发确实需要不可变内容、可变名称、历史、晋级、 发布与回滚。这个类比帮助描述了需求,也扩大了产品范围。 …
v0.1 计划始于 2026-07-11,并于 7 月 31 日封存为 v0.1.0。 它计划用一个 Go 控制面替换 Pigsty 的 Makefile 与 rclone 工作流,统一管理 APT、YUM 和静态制品。 范围包括本地状态、包历史、上游同步、渠道、视图、快照、双云发布、CDN 行为、商业访问控制和迁移。 当时的核心说法是:“制品仓库的 Git”。 软件分发确实需要不可变内容、可变名称、历史、晋级、 发布与回滚。这个类比帮助描述了需求,也扩大了产品范围。 …